@anvil-cloud/sdk 0.0.2

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 (53) hide show
  1. package/.gitattributes +1 -0
  2. package/README.md +0 -0
  3. package/aws/bucket.ts +58 -0
  4. package/aws/index.ts +32 -0
  5. package/aws/lambda.ts +64 -0
  6. package/bin/aws/bucket.d.ts +25 -0
  7. package/bin/aws/bucket.js +46 -0
  8. package/bin/aws/bucket.js.map +1 -0
  9. package/bin/aws/index.d.ts +6 -0
  10. package/bin/aws/index.js +26 -0
  11. package/bin/aws/index.js.map +1 -0
  12. package/bin/aws/lambda.d.ts +31 -0
  13. package/bin/aws/lambda.js +46 -0
  14. package/bin/aws/lambda.js.map +1 -0
  15. package/bin/gcp/function.d.ts +39 -0
  16. package/bin/gcp/function.js +57 -0
  17. package/bin/gcp/function.js.map +1 -0
  18. package/bin/gcp/index.d.ts +6 -0
  19. package/bin/gcp/index.js +26 -0
  20. package/bin/gcp/index.js.map +1 -0
  21. package/bin/gcp/storageBucket.d.ts +31 -0
  22. package/bin/gcp/storageBucket.js +49 -0
  23. package/bin/gcp/storageBucket.js.map +1 -0
  24. package/bin/index.d.ts +7 -0
  25. package/bin/index.js +26 -0
  26. package/bin/index.js.map +1 -0
  27. package/bin/package.json +30 -0
  28. package/bin/provider.d.ts +21 -0
  29. package/bin/provider.js +38 -0
  30. package/bin/provider.js.map +1 -0
  31. package/bin/types/index.d.ts +3 -0
  32. package/bin/types/index.js +11 -0
  33. package/bin/types/index.js.map +1 -0
  34. package/bin/types/input.d.ts +714 -0
  35. package/bin/types/input.js +5 -0
  36. package/bin/types/input.js.map +1 -0
  37. package/bin/types/output.d.ts +4 -0
  38. package/bin/types/output.js +5 -0
  39. package/bin/types/output.js.map +1 -0
  40. package/bin/utilities.d.ts +4 -0
  41. package/bin/utilities.js +91 -0
  42. package/bin/utilities.js.map +1 -0
  43. package/gcp/function.ts +83 -0
  44. package/gcp/index.ts +32 -0
  45. package/gcp/storageBucket.ts +67 -0
  46. package/index.ts +32 -0
  47. package/package.json +30 -0
  48. package/provider.ts +44 -0
  49. package/tsconfig.json +29 -0
  50. package/types/index.ts +13 -0
  51. package/types/input.ts +732 -0
  52. package/types/output.ts +15 -0
  53. package/utilities.ts +96 -0
package/types/input.ts ADDED
@@ -0,0 +1,732 @@
1
+ // *** WARNING: this file was generated by pulumi-language-nodejs. ***
2
+ // *** Do not edit by hand unless you're certain you know what you are doing! ***
3
+
4
+ import * as pulumi from "@pulumi/pulumi";
5
+ import * as inputs from "../types/input";
6
+ import * as outputs from "../types/output";
7
+
8
+ import * as pulumiAws from "@pulumi/aws";
9
+ import * as pulumiGcp from "@pulumi/gcp";
10
+
11
+ export namespace aws {
12
+ export interface BucketAccelerateConfigurationTransformArgs {
13
+ /**
14
+ * Name of the bucket.
15
+ */
16
+ bucket?: pulumi.Input<string>;
17
+ /**
18
+ * Account ID of the expected bucket owner.
19
+ *
20
+ * @deprecated expected_bucket_owner is deprecated. It will be removed in a future verion of the provider.
21
+ */
22
+ expectedBucketOwner?: pulumi.Input<string>;
23
+ /**
24
+ * Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
25
+ */
26
+ region?: pulumi.Input<string>;
27
+ /**
28
+ * Transfer acceleration state of the bucket. Valid values: `Enabled`, `Suspended`.
29
+ */
30
+ status?: pulumi.Input<string>;
31
+ }
32
+
33
+ export interface BucketAclTransformArgs {
34
+ /**
35
+ * Configuration block that sets the ACL permissions for an object per grantee. See below.
36
+ */
37
+ accessControlPolicy?: pulumi.Input<pulumiAws.types.input.s3.BucketAclAccessControlPolicy>;
38
+ /**
39
+ * Specifies the Canned ACL to apply to the bucket. Valid values: <span pulumi-lang-nodejs="`private`" pulumi-lang-dotnet="`Private`" pulumi-lang-go="`private`" pulumi-lang-python="`private`" pulumi-lang-yaml="`private`" pulumi-lang-java="`private`">`private`</span>, `public-read`, `public-read-write`, `aws-exec-read`, `authenticated-read`, `bucket-owner-read`, `bucket-owner-full-control`, `log-delivery-write`. Full details are available on the [AWS documentation](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl).
40
+ */
41
+ acl?: pulumi.Input<string>;
42
+ /**
43
+ * Bucket to which to apply the ACL.
44
+ */
45
+ bucket?: pulumi.Input<string>;
46
+ /**
47
+ * Account ID of the expected bucket owner.
48
+ *
49
+ * @deprecated expected_bucket_owner is deprecated. It will be removed in a future verion of the provider.
50
+ */
51
+ expectedBucketOwner?: pulumi.Input<string>;
52
+ /**
53
+ * Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
54
+ */
55
+ region?: pulumi.Input<string>;
56
+ }
57
+
58
+ export interface BucketCorsConfigurationTransformArgs {
59
+ /**
60
+ * Name of the bucket.
61
+ */
62
+ bucket?: pulumi.Input<string>;
63
+ /**
64
+ * Set of origins and methods (cross-origin access that you want to allow). See below. You can configure up to 100 rules.
65
+ */
66
+ corsRules?: pulumi.Input<pulumi.Input<pulumiAws.types.input.s3.BucketCorsConfigurationCorsRule>[]>;
67
+ /**
68
+ * Account ID of the expected bucket owner.
69
+ *
70
+ * @deprecated expected_bucket_owner is deprecated. It will be removed in a future verion of the provider.
71
+ */
72
+ expectedBucketOwner?: pulumi.Input<string>;
73
+ /**
74
+ * Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
75
+ */
76
+ region?: pulumi.Input<string>;
77
+ }
78
+
79
+ export interface BucketLifecycleConfigurationTransformArgs {
80
+ /**
81
+ * Name of the source S3 bucket you want Amazon S3 to monitor.
82
+ */
83
+ bucket?: pulumi.Input<string>;
84
+ /**
85
+ * Account ID of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.
86
+ *
87
+ * @deprecated This attribute will be removed in a future verion of the provider.
88
+ */
89
+ expectedBucketOwner?: pulumi.Input<string>;
90
+ /**
91
+ * Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
92
+ */
93
+ region?: pulumi.Input<string>;
94
+ /**
95
+ * List of configuration blocks describing the rules managing the replication. See below.
96
+ */
97
+ rules?: pulumi.Input<pulumi.Input<pulumiAws.types.input.s3.BucketLifecycleConfigurationRule>[]>;
98
+ timeouts?: pulumi.Input<pulumiAws.types.input.s3.BucketLifecycleConfigurationTimeouts>;
99
+ /**
100
+ * The default minimum object size behavior applied to the lifecycle configuration. Valid values: `all_storage_classes_128K` (default), <span pulumi-lang-nodejs="`variesByStorageClass`" pulumi-lang-dotnet="`VariesByStorageClass`" pulumi-lang-go="`variesByStorageClass`" pulumi-lang-python="`varies_by_storage_class`" pulumi-lang-yaml="`variesByStorageClass`" pulumi-lang-java="`variesByStorageClass`">`varies_by_storage_class`</span>. To customize the minimum object size for any transition you can add a <span pulumi-lang-nodejs="`filter`" pulumi-lang-dotnet="`Filter`" pulumi-lang-go="`filter`" pulumi-lang-python="`filter`" pulumi-lang-yaml="`filter`" pulumi-lang-java="`filter`">`filter`</span> that specifies a custom <span pulumi-lang-nodejs="`objectSizeGreaterThan`" pulumi-lang-dotnet="`ObjectSizeGreaterThan`" pulumi-lang-go="`objectSizeGreaterThan`" pulumi-lang-python="`object_size_greater_than`" pulumi-lang-yaml="`objectSizeGreaterThan`" pulumi-lang-java="`objectSizeGreaterThan`">`object_size_greater_than`</span> or <span pulumi-lang-nodejs="`objectSizeLessThan`" pulumi-lang-dotnet="`ObjectSizeLessThan`" pulumi-lang-go="`objectSizeLessThan`" pulumi-lang-python="`object_size_less_than`" pulumi-lang-yaml="`objectSizeLessThan`" pulumi-lang-java="`objectSizeLessThan`">`object_size_less_than`</span> value. Custom filters always take precedence over the default transition behavior.
101
+ */
102
+ transitionDefaultMinimumObjectSize?: pulumi.Input<string>;
103
+ }
104
+
105
+ export interface BucketLoggingTransformArgs {
106
+ /**
107
+ * Name of the bucket.
108
+ */
109
+ bucket?: pulumi.Input<string>;
110
+ /**
111
+ * Account ID of the expected bucket owner.
112
+ *
113
+ * @deprecated expected_bucket_owner is deprecated. It will be removed in a future verion of the provider.
114
+ */
115
+ expectedBucketOwner?: pulumi.Input<string>;
116
+ /**
117
+ * Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
118
+ */
119
+ region?: pulumi.Input<string>;
120
+ /**
121
+ * Name of the bucket where you want Amazon S3 to store server access logs.
122
+ */
123
+ targetBucket?: pulumi.Input<string>;
124
+ /**
125
+ * Set of configuration blocks with information for granting permissions. See below.
126
+ */
127
+ targetGrants?: pulumi.Input<pulumi.Input<pulumiAws.types.input.s3.BucketLoggingTargetGrant>[]>;
128
+ /**
129
+ * Amazon S3 key format for log objects. See below.
130
+ */
131
+ targetObjectKeyFormat?: pulumi.Input<pulumiAws.types.input.s3.BucketLoggingTargetObjectKeyFormat>;
132
+ /**
133
+ * Prefix for all log object keys.
134
+ */
135
+ targetPrefix?: pulumi.Input<string>;
136
+ }
137
+
138
+ export interface BucketObjectLockConfigurationTransformArgs {
139
+ /**
140
+ * Name of the bucket.
141
+ */
142
+ bucket?: pulumi.Input<string>;
143
+ /**
144
+ * Account ID of the expected bucket owner.
145
+ *
146
+ * @deprecated expected_bucket_owner is deprecated. It will be removed in a future verion of the provider.
147
+ */
148
+ expectedBucketOwner?: pulumi.Input<string>;
149
+ /**
150
+ * Indicates whether this bucket has an Object Lock configuration enabled. Defaults to `Enabled`. Valid values: `Enabled`.
151
+ */
152
+ objectLockEnabled?: pulumi.Input<string>;
153
+ /**
154
+ * Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
155
+ */
156
+ region?: pulumi.Input<string>;
157
+ /**
158
+ * Configuration block for specifying the Object Lock rule for the specified object. See below.
159
+ */
160
+ rule?: pulumi.Input<pulumiAws.types.input.s3.BucketObjectLockConfigurationRule>;
161
+ /**
162
+ * This argument is deprecated and no longer needed to enable Object Lock.
163
+ * To enable Object Lock for an existing bucket, you must first enable versioning on the bucket and then enable Object Lock. For more details on versioning, see the <span pulumi-lang-nodejs="`aws.s3.BucketVersioning`" pulumi-lang-dotnet="`aws.s3.BucketVersioning`" pulumi-lang-go="`s3.BucketVersioning`" pulumi-lang-python="`s3.BucketVersioning`" pulumi-lang-yaml="`aws.s3.BucketVersioning`" pulumi-lang-java="`aws.s3.BucketVersioning`">`aws.s3.BucketVersioning`</span> resource.
164
+ */
165
+ token?: pulumi.Input<string>;
166
+ }
167
+
168
+ export interface BucketPolicyTransformArgs {
169
+ /**
170
+ * Name of the bucket to which to apply the policy.
171
+ */
172
+ bucket?: pulumi.Input<string>;
173
+ /**
174
+ * Text of the policy. Although this is a bucket policy rather than an IAM policy, the <span pulumi-lang-nodejs="`aws.iam.getPolicyDocument`" pulumi-lang-dotnet="`aws.iam.getPolicyDocument`" pulumi-lang-go="`iam.getPolicyDocument`" pulumi-lang-python="`iam_get_policy_document`" pulumi-lang-yaml="`aws.iam.getPolicyDocument`" pulumi-lang-java="`aws.iam.getPolicyDocument`">`aws.iam.getPolicyDocument`</span> data source may be used, so long as it specifies a principal. For more information about building AWS IAM policy documents, see the AWS IAM Policy Document Guide. Note: Bucket policies are limited to 20 KB in size.
175
+ */
176
+ policy?: pulumi.Input<string | pulumiAws.types.input.s3.PolicyDocument>;
177
+ /**
178
+ * Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
179
+ */
180
+ region?: pulumi.Input<string>;
181
+ }
182
+
183
+ export interface BucketReplicationConfigTransformArgs {
184
+ /**
185
+ * Name of the source S3 bucket you want Amazon S3 to monitor.
186
+ */
187
+ bucket?: pulumi.Input<string>;
188
+ /**
189
+ * Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
190
+ */
191
+ region?: pulumi.Input<string>;
192
+ /**
193
+ * ARN of the IAM role for Amazon S3 to assume when replicating the objects.
194
+ */
195
+ role?: pulumi.Input<string>;
196
+ /**
197
+ * List of configuration blocks describing the rules managing the replication. See below.
198
+ *
199
+ * > **NOTE:** Replication to multiple destination buckets requires that <span pulumi-lang-nodejs="`priority`" pulumi-lang-dotnet="`Priority`" pulumi-lang-go="`priority`" pulumi-lang-python="`priority`" pulumi-lang-yaml="`priority`" pulumi-lang-java="`priority`">`priority`</span> is specified in the <span pulumi-lang-nodejs="`rule`" pulumi-lang-dotnet="`Rule`" pulumi-lang-go="`rule`" pulumi-lang-python="`rule`" pulumi-lang-yaml="`rule`" pulumi-lang-java="`rule`">`rule`</span> object. If the corresponding rule requires no filter, an empty configuration block `filter {}` must be specified.
200
+ *
201
+ * > **NOTE:** Amazon S3's latest version of the replication configuration is V2, which includes the <span pulumi-lang-nodejs="`filter`" pulumi-lang-dotnet="`Filter`" pulumi-lang-go="`filter`" pulumi-lang-python="`filter`" pulumi-lang-yaml="`filter`" pulumi-lang-java="`filter`">`filter`</span> attribute for replication rules.
202
+ *
203
+ * > **NOTE:** The <span pulumi-lang-nodejs="`existingObjectReplication`" pulumi-lang-dotnet="`ExistingObjectReplication`" pulumi-lang-go="`existingObjectReplication`" pulumi-lang-python="`existing_object_replication`" pulumi-lang-yaml="`existingObjectReplication`" pulumi-lang-java="`existingObjectReplication`">`existing_object_replication`</span> parameter is not supported by Amazon S3 at this time and should not be included in your <span pulumi-lang-nodejs="`rule`" pulumi-lang-dotnet="`Rule`" pulumi-lang-go="`rule`" pulumi-lang-python="`rule`" pulumi-lang-yaml="`rule`" pulumi-lang-java="`rule`">`rule`</span> configurations. Specifying this parameter will result in `MalformedXML` errors.
204
+ * To replicate existing objects, please refer to the [Replicating existing objects with S3 Batch Replication](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-batch-replication-batch.html) documentation in the Amazon S3 User Guide.
205
+ */
206
+ rules?: pulumi.Input<pulumi.Input<pulumiAws.types.input.s3.BucketReplicationConfigRule>[]>;
207
+ /**
208
+ * Token to allow replication to be enabled on an Object Lock-enabled bucket. You must contact AWS support for the bucket's "Object Lock token".
209
+ * For more details, see [Using S3 Object Lock with replication](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock-managing.html#object-lock-managing-replication).
210
+ */
211
+ token?: pulumi.Input<string>;
212
+ }
213
+
214
+ export interface BucketRequestPaymentConfigurationTransformArgs {
215
+ /**
216
+ * Name of the bucket.
217
+ */
218
+ bucket?: pulumi.Input<string>;
219
+ /**
220
+ * Account ID of the expected bucket owner.
221
+ *
222
+ * @deprecated expected_bucket_owner is deprecated. It will be removed in a future verion of the provider.
223
+ */
224
+ expectedBucketOwner?: pulumi.Input<string>;
225
+ /**
226
+ * Specifies who pays for the download and request fees. Valid values: `BucketOwner`, `Requester`.
227
+ */
228
+ payer?: pulumi.Input<string>;
229
+ /**
230
+ * Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
231
+ */
232
+ region?: pulumi.Input<string>;
233
+ }
234
+
235
+ export interface BucketServerSideEncryptionConfigurationTransformArgs {
236
+ /**
237
+ * ID (name) of the bucket.
238
+ */
239
+ bucket?: pulumi.Input<string>;
240
+ /**
241
+ * Account ID of the expected bucket owner.
242
+ *
243
+ * @deprecated expected_bucket_owner is deprecated. It will be removed in a future verion of the provider.
244
+ */
245
+ expectedBucketOwner?: pulumi.Input<string>;
246
+ /**
247
+ * Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
248
+ */
249
+ region?: pulumi.Input<string>;
250
+ /**
251
+ * Set of server-side encryption configuration rules. See below. Currently, only a single rule is supported.
252
+ */
253
+ rules?: pulumi.Input<pulumi.Input<pulumiAws.types.input.s3.BucketServerSideEncryptionConfigurationRule>[]>;
254
+ }
255
+
256
+ export interface BucketTransformArgs {
257
+ /**
258
+ * Name of the bucket. If omitted, the provider will assign a random, unique name. Must be lowercase and less than or equal to 63 characters in length. A full list of bucket naming rules [may be found here](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html). The name must not be in the format `<span pulumi-lang-nodejs="[bucketName]" pulumi-lang-dotnet="[BucketName]" pulumi-lang-go="[bucketName]" pulumi-lang-python="[bucket_name]" pulumi-lang-yaml="[bucketName]" pulumi-lang-java="[bucketName]">[bucket_name]</span>--[azid]--x-s3`. Use the <span pulumi-lang-nodejs="`aws.s3.DirectoryBucket`" pulumi-lang-dotnet="`aws.s3.DirectoryBucket`" pulumi-lang-go="`s3.DirectoryBucket`" pulumi-lang-python="`s3.DirectoryBucket`" pulumi-lang-yaml="`aws.s3.DirectoryBucket`" pulumi-lang-java="`aws.s3.DirectoryBucket`">`aws.s3.DirectoryBucket`</span> resource to manage S3 Express buckets.
259
+ */
260
+ bucket?: pulumi.Input<string>;
261
+ /**
262
+ * Creates a unique bucket name beginning with the specified prefix. Conflicts with <span pulumi-lang-nodejs="`bucket`" pulumi-lang-dotnet="`Bucket`" pulumi-lang-go="`bucket`" pulumi-lang-python="`bucket`" pulumi-lang-yaml="`bucket`" pulumi-lang-java="`bucket`">`bucket`</span>. Must be lowercase and less than or equal to 37 characters in length. A full list of bucket naming rules [may be found here](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html).
263
+ */
264
+ bucketPrefix?: pulumi.Input<string>;
265
+ /**
266
+ * Boolean that indicates all objects (including any [locked objects](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html)) should be deleted from the bucket *when the bucket is destroyed* so that the bucket can be destroyed without error. These objects are *not* recoverable. This only deletes objects when the bucket is destroyed, *not* when setting this parameter to <span pulumi-lang-nodejs="`true`" pulumi-lang-dotnet="`True`" pulumi-lang-go="`true`" pulumi-lang-python="`true`" pulumi-lang-yaml="`true`" pulumi-lang-java="`true`">`true`</span>. Once this parameter is set to <span pulumi-lang-nodejs="`true`" pulumi-lang-dotnet="`True`" pulumi-lang-go="`true`" pulumi-lang-python="`true`" pulumi-lang-yaml="`true`" pulumi-lang-java="`true`">`true`</span>, there must be a successful `pulumi up` run before a destroy is required to update this value in the resource state. Without a successful `pulumi up` after this parameter is set, this flag will have no effect. If setting this field in the same operation that would require replacing the bucket or destroying the bucket, this flag will not work. Additionally when importing a bucket, a successful `pulumi up` is required to set this value in state before it will take effect on a destroy operation.
267
+ */
268
+ forceDestroy?: pulumi.Input<boolean>;
269
+ /**
270
+ * Indicates whether this bucket has an Object Lock configuration enabled. Valid values are <span pulumi-lang-nodejs="`true`" pulumi-lang-dotnet="`True`" pulumi-lang-go="`true`" pulumi-lang-python="`true`" pulumi-lang-yaml="`true`" pulumi-lang-java="`true`">`true`</span> or <span pulumi-lang-nodejs="`false`" pulumi-lang-dotnet="`False`" pulumi-lang-go="`false`" pulumi-lang-python="`false`" pulumi-lang-yaml="`false`" pulumi-lang-java="`false`">`false`</span>. This argument is not supported in all regions or partitions.
271
+ */
272
+ objectLockEnabled?: pulumi.Input<boolean>;
273
+ /**
274
+ * Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
275
+ */
276
+ region?: pulumi.Input<string>;
277
+ /**
278
+ * Map of tags to assign to the bucket. If configured with a provider <span pulumi-lang-nodejs="`defaultTags`" pulumi-lang-dotnet="`DefaultTags`" pulumi-lang-go="`defaultTags`" pulumi-lang-python="`default_tags`" pulumi-lang-yaml="`defaultTags`" pulumi-lang-java="`defaultTags`">`default_tags`</span> configuration block present, tags with matching keys will overwrite those defined at the provider-level.
279
+ *
280
+ * The following arguments are deprecated, and will be removed in a future major version:
281
+ */
282
+ tags?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;
283
+ }
284
+
285
+ export interface BucketTransformArgsArgs {
286
+ accelerationStatus?: pulumi.Input<inputs.aws.BucketAccelerateConfigurationTransformArgs>;
287
+ acl?: pulumi.Input<inputs.aws.BucketAclTransformArgs>;
288
+ bucket?: pulumi.Input<inputs.aws.BucketTransformArgs>;
289
+ corsRules?: pulumi.Input<inputs.aws.BucketCorsConfigurationTransformArgs>;
290
+ grants?: pulumi.Input<inputs.aws.BucketAclTransformArgs>;
291
+ lifecycleRules?: pulumi.Input<inputs.aws.BucketLifecycleConfigurationTransformArgs>;
292
+ logging?: pulumi.Input<inputs.aws.BucketLoggingTransformArgs>;
293
+ objectLockConfiguration?: pulumi.Input<inputs.aws.BucketObjectLockConfigurationTransformArgs>;
294
+ policy?: pulumi.Input<inputs.aws.BucketPolicyTransformArgs>;
295
+ publicAccessBlock?: pulumi.Input<inputs.aws.PABTransformArgs>;
296
+ replicationConfiguration?: pulumi.Input<inputs.aws.BucketReplicationConfigTransformArgs>;
297
+ requestPayer?: pulumi.Input<inputs.aws.BucketRequestPaymentConfigurationTransformArgs>;
298
+ serverSideEncryptionConfiguration?: pulumi.Input<inputs.aws.BucketServerSideEncryptionConfigurationTransformArgs>;
299
+ versioning?: pulumi.Input<inputs.aws.BucketVersioningTransformArgs>;
300
+ website?: pulumi.Input<inputs.aws.BucketWebsiteConfigurationTransformArgs>;
301
+ }
302
+
303
+ export interface BucketVersioningTransformArgs {
304
+ /**
305
+ * Name of the S3 bucket.
306
+ */
307
+ bucket?: pulumi.Input<string>;
308
+ /**
309
+ * Account ID of the expected bucket owner.
310
+ *
311
+ * @deprecated expected_bucket_owner is deprecated. It will be removed in a future verion of the provider.
312
+ */
313
+ expectedBucketOwner?: pulumi.Input<string>;
314
+ /**
315
+ * Concatenation of the authentication device's serial number, a space, and the value that is displayed on your authentication device.
316
+ */
317
+ mfa?: pulumi.Input<string>;
318
+ /**
319
+ * Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
320
+ */
321
+ region?: pulumi.Input<string>;
322
+ /**
323
+ * Configuration block for the versioning parameters. See below.
324
+ */
325
+ versioningConfiguration?: pulumi.Input<pulumiAws.types.input.s3.BucketVersioningVersioningConfiguration>;
326
+ }
327
+
328
+ export interface BucketWebsiteConfigurationTransformArgs {
329
+ /**
330
+ * Name of the bucket.
331
+ */
332
+ bucket?: pulumi.Input<string>;
333
+ /**
334
+ * Name of the error document for the website. See below.
335
+ */
336
+ errorDocument?: pulumi.Input<pulumiAws.types.input.s3.BucketWebsiteConfigurationErrorDocument>;
337
+ /**
338
+ * Account ID of the expected bucket owner.
339
+ *
340
+ * @deprecated expected_bucket_owner is deprecated. It will be removed in a future verion of the provider.
341
+ */
342
+ expectedBucketOwner?: pulumi.Input<string>;
343
+ /**
344
+ * Name of the index document for the website. See below.
345
+ */
346
+ indexDocument?: pulumi.Input<pulumiAws.types.input.s3.BucketWebsiteConfigurationIndexDocument>;
347
+ /**
348
+ * Redirect behavior for every request to this bucket's website endpoint. See below. Conflicts with <span pulumi-lang-nodejs="`errorDocument`" pulumi-lang-dotnet="`ErrorDocument`" pulumi-lang-go="`errorDocument`" pulumi-lang-python="`error_document`" pulumi-lang-yaml="`errorDocument`" pulumi-lang-java="`errorDocument`">`error_document`</span>, <span pulumi-lang-nodejs="`indexDocument`" pulumi-lang-dotnet="`IndexDocument`" pulumi-lang-go="`indexDocument`" pulumi-lang-python="`index_document`" pulumi-lang-yaml="`indexDocument`" pulumi-lang-java="`indexDocument`">`index_document`</span>, and <span pulumi-lang-nodejs="`routingRule`" pulumi-lang-dotnet="`RoutingRule`" pulumi-lang-go="`routingRule`" pulumi-lang-python="`routing_rule`" pulumi-lang-yaml="`routingRule`" pulumi-lang-java="`routingRule`">`routing_rule`</span>.
349
+ */
350
+ redirectAllRequestsTo?: pulumi.Input<pulumiAws.types.input.s3.BucketWebsiteConfigurationRedirectAllRequestsTo>;
351
+ /**
352
+ * Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
353
+ */
354
+ region?: pulumi.Input<string>;
355
+ /**
356
+ * JSON array containing [routing rules](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-websiteconfiguration-routingrules.html)
357
+ * describing redirect behavior and when redirects are applied. Use this parameter when your routing rules contain empty String values (`""`) as seen in the example above.
358
+ */
359
+ routingRuleDetails?: pulumi.Input<string>;
360
+ /**
361
+ * List of rules that define when a redirect is applied and the redirect behavior. See below.
362
+ */
363
+ routingRules?: pulumi.Input<pulumi.Input<pulumiAws.types.input.s3.BucketWebsiteConfigurationRoutingRule>[]>;
364
+ }
365
+
366
+ export interface LambdaTransformArgs {
367
+ /**
368
+ * Instruction set architecture for your Lambda function. Valid values are `[<span pulumi-lang-nodejs=""x8664"" pulumi-lang-dotnet=""X8664"" pulumi-lang-go=""x8664"" pulumi-lang-python=""x86_64"" pulumi-lang-yaml=""x8664"" pulumi-lang-java=""x8664"">"x86_64"</span>]` and `["arm64"]`. Default is `[<span pulumi-lang-nodejs=""x8664"" pulumi-lang-dotnet=""X8664"" pulumi-lang-go=""x8664"" pulumi-lang-python=""x86_64"" pulumi-lang-yaml=""x8664"" pulumi-lang-java=""x8664"">"x86_64"</span>]`. Removing this attribute, function's architecture stays the same.
369
+ */
370
+ architectures?: pulumi.Input<pulumi.Input<string>[]>;
371
+ /**
372
+ * Configuration block for Lambda Capacity Provider. See below.
373
+ */
374
+ capacityProviderConfig?: pulumi.Input<pulumiAws.types.input.lambda.FunctionCapacityProviderConfig>;
375
+ /**
376
+ * Path to the function's deployment package within the local filesystem. Conflicts with <span pulumi-lang-nodejs="`imageUri`" pulumi-lang-dotnet="`ImageUri`" pulumi-lang-go="`imageUri`" pulumi-lang-python="`image_uri`" pulumi-lang-yaml="`imageUri`" pulumi-lang-java="`imageUri`">`image_uri`</span> and <span pulumi-lang-nodejs="`s3Bucket`" pulumi-lang-dotnet="`S3Bucket`" pulumi-lang-go="`s3Bucket`" pulumi-lang-python="`s3_bucket`" pulumi-lang-yaml="`s3Bucket`" pulumi-lang-java="`s3Bucket`">`s3_bucket`</span>. One of <span pulumi-lang-nodejs="`filename`" pulumi-lang-dotnet="`Filename`" pulumi-lang-go="`filename`" pulumi-lang-python="`filename`" pulumi-lang-yaml="`filename`" pulumi-lang-java="`filename`">`filename`</span>, <span pulumi-lang-nodejs="`imageUri`" pulumi-lang-dotnet="`ImageUri`" pulumi-lang-go="`imageUri`" pulumi-lang-python="`image_uri`" pulumi-lang-yaml="`imageUri`" pulumi-lang-java="`imageUri`">`image_uri`</span>, or <span pulumi-lang-nodejs="`s3Bucket`" pulumi-lang-dotnet="`S3Bucket`" pulumi-lang-go="`s3Bucket`" pulumi-lang-python="`s3_bucket`" pulumi-lang-yaml="`s3Bucket`" pulumi-lang-java="`s3Bucket`">`s3_bucket`</span> must be specified.
377
+ */
378
+ code?: pulumi.Input<pulumi.asset.Archive>;
379
+ /**
380
+ * Base64-encoded representation the source code package file. Use this argument to trigger updates when the function source code changes. For OCI, this value is relayed directly from the image digest. For zip files, this value is the Base64 encoded SHA-256 hash of the `.zip` file. Layers are not included in the calculation. To trigger updates using a non-standard hashing algorithm, use the <span pulumi-lang-nodejs="`sourceCodeHash`" pulumi-lang-dotnet="`SourceCodeHash`" pulumi-lang-go="`sourceCodeHash`" pulumi-lang-python="`source_code_hash`" pulumi-lang-yaml="`sourceCodeHash`" pulumi-lang-java="`sourceCodeHash`">`source_code_hash`</span> argument instead.
381
+ */
382
+ codeSha256?: pulumi.Input<string>;
383
+ /**
384
+ * ARN of a code-signing configuration to enable code signing for this function.
385
+ */
386
+ codeSigningConfigArn?: pulumi.Input<string>;
387
+ /**
388
+ * Configuration block for dead letter queue. See below.
389
+ */
390
+ deadLetterConfig?: pulumi.Input<pulumiAws.types.input.lambda.FunctionDeadLetterConfig>;
391
+ /**
392
+ * Description of what your Lambda Function does.
393
+ */
394
+ description?: pulumi.Input<string>;
395
+ /**
396
+ * Configuration block for durable function settings. See below. <span pulumi-lang-nodejs="`durableConfig`" pulumi-lang-dotnet="`DurableConfig`" pulumi-lang-go="`durableConfig`" pulumi-lang-python="`durable_config`" pulumi-lang-yaml="`durableConfig`" pulumi-lang-java="`durableConfig`">`durable_config`</span> may only be available in [limited regions](https://builder.aws.com/build/capabilities), including `us-east-2`.
397
+ */
398
+ durableConfig?: pulumi.Input<pulumiAws.types.input.lambda.FunctionDurableConfig>;
399
+ /**
400
+ * Configuration block for environment variables. See below.
401
+ */
402
+ environment?: pulumi.Input<pulumiAws.types.input.lambda.FunctionEnvironment>;
403
+ /**
404
+ * Amount of ephemeral storage (`/tmp`) to allocate for the Lambda Function. See below.
405
+ */
406
+ ephemeralStorage?: pulumi.Input<pulumiAws.types.input.lambda.FunctionEphemeralStorage>;
407
+ /**
408
+ * Configuration block for EFS file system. See below.
409
+ */
410
+ fileSystemConfig?: pulumi.Input<pulumiAws.types.input.lambda.FunctionFileSystemConfig>;
411
+ /**
412
+ * Function entry point in your code. Required if <span pulumi-lang-nodejs="`packageType`" pulumi-lang-dotnet="`PackageType`" pulumi-lang-go="`packageType`" pulumi-lang-python="`package_type`" pulumi-lang-yaml="`packageType`" pulumi-lang-java="`packageType`">`package_type`</span> is `Zip`.
413
+ */
414
+ handler?: pulumi.Input<string>;
415
+ /**
416
+ * Container image configuration values. See below.
417
+ */
418
+ imageConfig?: pulumi.Input<pulumiAws.types.input.lambda.FunctionImageConfig>;
419
+ /**
420
+ * ECR image URI containing the function's deployment package. Conflicts with <span pulumi-lang-nodejs="`filename`" pulumi-lang-dotnet="`Filename`" pulumi-lang-go="`filename`" pulumi-lang-python="`filename`" pulumi-lang-yaml="`filename`" pulumi-lang-java="`filename`">`filename`</span> and <span pulumi-lang-nodejs="`s3Bucket`" pulumi-lang-dotnet="`S3Bucket`" pulumi-lang-go="`s3Bucket`" pulumi-lang-python="`s3_bucket`" pulumi-lang-yaml="`s3Bucket`" pulumi-lang-java="`s3Bucket`">`s3_bucket`</span>. One of <span pulumi-lang-nodejs="`filename`" pulumi-lang-dotnet="`Filename`" pulumi-lang-go="`filename`" pulumi-lang-python="`filename`" pulumi-lang-yaml="`filename`" pulumi-lang-java="`filename`">`filename`</span>, <span pulumi-lang-nodejs="`imageUri`" pulumi-lang-dotnet="`ImageUri`" pulumi-lang-go="`imageUri`" pulumi-lang-python="`image_uri`" pulumi-lang-yaml="`imageUri`" pulumi-lang-java="`imageUri`">`image_uri`</span>, or <span pulumi-lang-nodejs="`s3Bucket`" pulumi-lang-dotnet="`S3Bucket`" pulumi-lang-go="`s3Bucket`" pulumi-lang-python="`s3_bucket`" pulumi-lang-yaml="`s3Bucket`" pulumi-lang-java="`s3Bucket`">`s3_bucket`</span> must be specified.
421
+ */
422
+ imageUri?: pulumi.Input<string>;
423
+ /**
424
+ * ARN of the AWS Key Management Service key used to encrypt environment variables. If not provided when environment variables are in use, AWS Lambda uses a default service key. If provided when environment variables are not in use, the AWS Lambda API does not save this configuration.
425
+ */
426
+ kmsKeyArn?: pulumi.Input<string>;
427
+ /**
428
+ * List of Lambda Layer Version ARNs (maximum of 5) to attach to your Lambda Function.
429
+ */
430
+ layers?: pulumi.Input<pulumi.Input<string>[]>;
431
+ /**
432
+ * Configuration block for advanced logging settings. See below.
433
+ */
434
+ loggingConfig?: pulumi.Input<pulumiAws.types.input.lambda.FunctionLoggingConfig>;
435
+ /**
436
+ * Amount of memory in MB your Lambda Function can use at runtime. Valid value between 128 MB to 32,768 MB (32 GB), in 1 MB increments. Defaults to 128.
437
+ */
438
+ memorySize?: pulumi.Input<number>;
439
+ /**
440
+ * Unique name for your Lambda Function.
441
+ */
442
+ name?: pulumi.Input<string>;
443
+ /**
444
+ * Lambda deployment package type. Valid values are `Zip` and `Image`. Defaults to `Zip`.
445
+ */
446
+ packageType?: pulumi.Input<string>;
447
+ /**
448
+ * Whether to publish creation/change as new Lambda Function Version. Defaults to <span pulumi-lang-nodejs="`false`" pulumi-lang-dotnet="`False`" pulumi-lang-go="`false`" pulumi-lang-python="`false`" pulumi-lang-yaml="`false`" pulumi-lang-java="`false`">`false`</span>.
449
+ */
450
+ publish?: pulumi.Input<boolean>;
451
+ /**
452
+ * Whether to publish to a alias or version number. Omit for regular version publishing. Option is `LATEST_PUBLISHED`.
453
+ */
454
+ publishTo?: pulumi.Input<string>;
455
+ /**
456
+ * Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
457
+ */
458
+ region?: pulumi.Input<string>;
459
+ /**
460
+ * Whether to replace the security groups on the function's VPC configuration prior to destruction. Default is <span pulumi-lang-nodejs="`false`" pulumi-lang-dotnet="`False`" pulumi-lang-go="`false`" pulumi-lang-python="`false`" pulumi-lang-yaml="`false`" pulumi-lang-java="`false`">`false`</span>.
461
+ */
462
+ replaceSecurityGroupsOnDestroy?: pulumi.Input<boolean>;
463
+ /**
464
+ * List of security group IDs to assign to the function's VPC configuration prior to destruction. Required if <span pulumi-lang-nodejs="`replaceSecurityGroupsOnDestroy`" pulumi-lang-dotnet="`ReplaceSecurityGroupsOnDestroy`" pulumi-lang-go="`replaceSecurityGroupsOnDestroy`" pulumi-lang-python="`replace_security_groups_on_destroy`" pulumi-lang-yaml="`replaceSecurityGroupsOnDestroy`" pulumi-lang-java="`replaceSecurityGroupsOnDestroy`">`replace_security_groups_on_destroy`</span> is <span pulumi-lang-nodejs="`true`" pulumi-lang-dotnet="`True`" pulumi-lang-go="`true`" pulumi-lang-python="`true`" pulumi-lang-yaml="`true`" pulumi-lang-java="`true`">`true`</span>.
465
+ */
466
+ replacementSecurityGroupIds?: pulumi.Input<pulumi.Input<string>[]>;
467
+ /**
468
+ * Amount of reserved concurrent executions for this lambda function. A value of <span pulumi-lang-nodejs="`0`" pulumi-lang-dotnet="`0`" pulumi-lang-go="`0`" pulumi-lang-python="`0`" pulumi-lang-yaml="`0`" pulumi-lang-java="`0`">`0`</span> disables lambda from being triggered and `-1` removes any concurrency limitations. Defaults to Unreserved Concurrency Limits `-1`.
469
+ */
470
+ reservedConcurrentExecutions?: pulumi.Input<number>;
471
+ /**
472
+ * ARN of the function's execution role. The role provides the function's identity and access to AWS services and resources.
473
+ *
474
+ * The following arguments are optional:
475
+ */
476
+ role?: pulumi.Input<string>;
477
+ /**
478
+ * Identifier of the function's runtime. Required if <span pulumi-lang-nodejs="`packageType`" pulumi-lang-dotnet="`PackageType`" pulumi-lang-go="`packageType`" pulumi-lang-python="`package_type`" pulumi-lang-yaml="`packageType`" pulumi-lang-java="`packageType`">`package_type`</span> is `Zip`. See [Runtimes](https://docs.aws.amazon.com/lambda/latest/dg/API_CreateFunction.html#SSS-CreateFunction-request-Runtime) for valid values.
479
+ */
480
+ runtime?: pulumi.Input<string | pulumiAws.lambda.Runtime>;
481
+ /**
482
+ * S3 bucket location containing the function's deployment package. Conflicts with <span pulumi-lang-nodejs="`filename`" pulumi-lang-dotnet="`Filename`" pulumi-lang-go="`filename`" pulumi-lang-python="`filename`" pulumi-lang-yaml="`filename`" pulumi-lang-java="`filename`">`filename`</span> and <span pulumi-lang-nodejs="`imageUri`" pulumi-lang-dotnet="`ImageUri`" pulumi-lang-go="`imageUri`" pulumi-lang-python="`image_uri`" pulumi-lang-yaml="`imageUri`" pulumi-lang-java="`imageUri`">`image_uri`</span>. One of <span pulumi-lang-nodejs="`filename`" pulumi-lang-dotnet="`Filename`" pulumi-lang-go="`filename`" pulumi-lang-python="`filename`" pulumi-lang-yaml="`filename`" pulumi-lang-java="`filename`">`filename`</span>, <span pulumi-lang-nodejs="`imageUri`" pulumi-lang-dotnet="`ImageUri`" pulumi-lang-go="`imageUri`" pulumi-lang-python="`image_uri`" pulumi-lang-yaml="`imageUri`" pulumi-lang-java="`imageUri`">`image_uri`</span>, or <span pulumi-lang-nodejs="`s3Bucket`" pulumi-lang-dotnet="`S3Bucket`" pulumi-lang-go="`s3Bucket`" pulumi-lang-python="`s3_bucket`" pulumi-lang-yaml="`s3Bucket`" pulumi-lang-java="`s3Bucket`">`s3_bucket`</span> must be specified.
483
+ */
484
+ s3Bucket?: pulumi.Input<string>;
485
+ /**
486
+ * S3 key of an object containing the function's deployment package. Required if <span pulumi-lang-nodejs="`s3Bucket`" pulumi-lang-dotnet="`S3Bucket`" pulumi-lang-go="`s3Bucket`" pulumi-lang-python="`s3_bucket`" pulumi-lang-yaml="`s3Bucket`" pulumi-lang-java="`s3Bucket`">`s3_bucket`</span> is set.
487
+ */
488
+ s3Key?: pulumi.Input<string>;
489
+ /**
490
+ * Object version containing the function's deployment package. Conflicts with <span pulumi-lang-nodejs="`filename`" pulumi-lang-dotnet="`Filename`" pulumi-lang-go="`filename`" pulumi-lang-python="`filename`" pulumi-lang-yaml="`filename`" pulumi-lang-java="`filename`">`filename`</span> and <span pulumi-lang-nodejs="`imageUri`" pulumi-lang-dotnet="`ImageUri`" pulumi-lang-go="`imageUri`" pulumi-lang-python="`image_uri`" pulumi-lang-yaml="`imageUri`" pulumi-lang-java="`imageUri`">`image_uri`</span>.
491
+ */
492
+ s3ObjectVersion?: pulumi.Input<string>;
493
+ /**
494
+ * Whether to retain the old version of a previously deployed Lambda Layer. Default is <span pulumi-lang-nodejs="`false`" pulumi-lang-dotnet="`False`" pulumi-lang-go="`false`" pulumi-lang-python="`false`" pulumi-lang-yaml="`false`" pulumi-lang-java="`false`">`false`</span>.
495
+ */
496
+ skipDestroy?: pulumi.Input<boolean>;
497
+ /**
498
+ * Configuration block for snap start settings. See below.
499
+ */
500
+ snapStart?: pulumi.Input<pulumiAws.types.input.lambda.FunctionSnapStart>;
501
+ /**
502
+ * User-defined hash of the source code package file. Use this argument to trigger updates when the local function source code changes. This is a synthetic argument tracked only by the AWS provider and does not need to match the hashing algorithm used by Lambda to compute the `CodeSha256` response value. Out-of-band changes to the source code _will not_ be captured by this argument. To include out-of-band source code changes as an update trigger, use the <span pulumi-lang-nodejs="`codeSha256`" pulumi-lang-dotnet="`CodeSha256`" pulumi-lang-go="`codeSha256`" pulumi-lang-python="`code_sha256`" pulumi-lang-yaml="`codeSha256`" pulumi-lang-java="`codeSha256`">`code_sha256`</span> argument instead.
503
+ */
504
+ sourceCodeHash?: pulumi.Input<string>;
505
+ /**
506
+ * ARN of the AWS Key Management Service key used to encrypt the function's `.zip` deployment package. Conflicts with <span pulumi-lang-nodejs="`imageUri`" pulumi-lang-dotnet="`ImageUri`" pulumi-lang-go="`imageUri`" pulumi-lang-python="`image_uri`" pulumi-lang-yaml="`imageUri`" pulumi-lang-java="`imageUri`">`image_uri`</span>.
507
+ */
508
+ sourceKmsKeyArn?: pulumi.Input<string>;
509
+ /**
510
+ * Key-value map of tags for the Lambda function. If configured with a provider <span pulumi-lang-nodejs="`defaultTags`" pulumi-lang-dotnet="`DefaultTags`" pulumi-lang-go="`defaultTags`" pulumi-lang-python="`default_tags`" pulumi-lang-yaml="`defaultTags`" pulumi-lang-java="`defaultTags`">`default_tags`</span> configuration block present, tags with matching keys will overwrite those defined at the provider-level.
511
+ */
512
+ tags?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;
513
+ /**
514
+ * Configuration block for Tenancy. See below.
515
+ */
516
+ tenancyConfig?: pulumi.Input<pulumiAws.types.input.lambda.FunctionTenancyConfig>;
517
+ /**
518
+ * Amount of time your Lambda Function has to run in seconds. Defaults to 3. Valid between 1 and 900.
519
+ */
520
+ timeout?: pulumi.Input<number>;
521
+ /**
522
+ * Configuration block for X-Ray tracing. See below.
523
+ */
524
+ tracingConfig?: pulumi.Input<pulumiAws.types.input.lambda.FunctionTracingConfig>;
525
+ /**
526
+ * Configuration block for VPC. See below.
527
+ */
528
+ vpcConfig?: pulumi.Input<pulumiAws.types.input.lambda.FunctionVpcConfig>;
529
+ }
530
+
531
+ export interface LambdaTransformArgsArgs {
532
+ lambda?: pulumi.Input<inputs.aws.LambdaTransformArgs>;
533
+ }
534
+
535
+ export interface PABTransformArgs {
536
+ /**
537
+ * Whether Amazon S3 should block public ACLs for this bucket. Defaults to <span pulumi-lang-nodejs="`false`" pulumi-lang-dotnet="`False`" pulumi-lang-go="`false`" pulumi-lang-python="`false`" pulumi-lang-yaml="`false`" pulumi-lang-java="`false`">`false`</span>. Enabling this setting does not affect existing policies or ACLs. When set to <span pulumi-lang-nodejs="`true`" pulumi-lang-dotnet="`True`" pulumi-lang-go="`true`" pulumi-lang-python="`true`" pulumi-lang-yaml="`true`" pulumi-lang-java="`true`">`true`</span> causes the following behavior:
538
+ * * PUT Bucket ACL and PUT Object ACL calls will fail if the specified ACL allows public access.
539
+ * * PUT Object calls will fail if the request includes an object ACL.
540
+ */
541
+ blockPublicAcls?: pulumi.Input<boolean>;
542
+ /**
543
+ * Whether Amazon S3 should block public bucket policies for this bucket. Defaults to <span pulumi-lang-nodejs="`false`" pulumi-lang-dotnet="`False`" pulumi-lang-go="`false`" pulumi-lang-python="`false`" pulumi-lang-yaml="`false`" pulumi-lang-java="`false`">`false`</span>. Enabling this setting does not affect the existing bucket policy. When set to <span pulumi-lang-nodejs="`true`" pulumi-lang-dotnet="`True`" pulumi-lang-go="`true`" pulumi-lang-python="`true`" pulumi-lang-yaml="`true`" pulumi-lang-java="`true`">`true`</span> causes Amazon S3 to:
544
+ * * Reject calls to PUT Bucket policy if the specified bucket policy allows public access.
545
+ */
546
+ blockPublicPolicy?: pulumi.Input<boolean>;
547
+ /**
548
+ * S3 Bucket to which this Public Access Block configuration should be applied.
549
+ */
550
+ bucket?: pulumi.Input<string>;
551
+ /**
552
+ * Whether Amazon S3 should ignore public ACLs for this bucket. Defaults to <span pulumi-lang-nodejs="`false`" pulumi-lang-dotnet="`False`" pulumi-lang-go="`false`" pulumi-lang-python="`false`" pulumi-lang-yaml="`false`" pulumi-lang-java="`false`">`false`</span>. Enabling this setting does not affect the persistence of any existing ACLs and doesn't prevent new public ACLs from being set. When set to <span pulumi-lang-nodejs="`true`" pulumi-lang-dotnet="`True`" pulumi-lang-go="`true`" pulumi-lang-python="`true`" pulumi-lang-yaml="`true`" pulumi-lang-java="`true`">`true`</span> causes Amazon S3 to:
553
+ * * Ignore public ACLs on this bucket and any objects that it contains.
554
+ */
555
+ ignorePublicAcls?: pulumi.Input<boolean>;
556
+ /**
557
+ * Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
558
+ */
559
+ region?: pulumi.Input<string>;
560
+ /**
561
+ * Whether Amazon S3 should restrict public bucket policies for this bucket. Defaults to <span pulumi-lang-nodejs="`false`" pulumi-lang-dotnet="`False`" pulumi-lang-go="`false`" pulumi-lang-python="`false`" pulumi-lang-yaml="`false`" pulumi-lang-java="`false`">`false`</span>. Enabling this setting does not affect the previously stored bucket policy, except that public and cross-account access within the public bucket policy, including non-public delegation to specific accounts, is blocked. When set to <span pulumi-lang-nodejs="`true`" pulumi-lang-dotnet="`True`" pulumi-lang-go="`true`" pulumi-lang-python="`true`" pulumi-lang-yaml="`true`" pulumi-lang-java="`true`">`true`</span>:
562
+ * * Only the bucket owner and AWS Services can access this buckets if it has a public policy.
563
+ */
564
+ restrictPublicBuckets?: pulumi.Input<boolean>;
565
+ /**
566
+ * Whether to retain the public access block upon destruction. If set to <span pulumi-lang-nodejs="`true`" pulumi-lang-dotnet="`True`" pulumi-lang-go="`true`" pulumi-lang-python="`true`" pulumi-lang-yaml="`true`" pulumi-lang-java="`true`">`true`</span>, the resource is simply removed from state instead. This may be desirable in certain scenarios to prevent the removal of a public access block before deletion of the associated bucket.
567
+ */
568
+ skipDestroy?: pulumi.Input<boolean>;
569
+ }
570
+ }
571
+
572
+ export namespace gcp {
573
+ export interface BucketTransformArgs {
574
+ /**
575
+ * The bucket's [Autoclass](https://cloud.google.com/storage/docs/autoclass) configuration. Structure is documented below.
576
+ */
577
+ autoclass?: pulumi.Input<pulumiGcp.types.input.storage.BucketAutoclass>;
578
+ /**
579
+ * The bucket's [Cross-Origin Resource Sharing (CORS)](https://www.w3.org/TR/cors/) configuration. Multiple blocks of this type are permitted. Structure is documented below.
580
+ */
581
+ cors?: pulumi.Input<pulumi.Input<pulumiGcp.types.input.storage.BucketCor>[]>;
582
+ /**
583
+ * The bucket's custom location configuration, which specifies the individual regions that comprise a dual-region bucket. If the bucket is designated a single or multi-region, the parameters are empty. Structure is documented below.
584
+ */
585
+ customPlacementConfig?: pulumi.Input<pulumiGcp.types.input.storage.BucketCustomPlacementConfig>;
586
+ /**
587
+ * Whether or not to automatically apply an eventBasedHold to new objects added to the bucket.
588
+ */
589
+ defaultEventBasedHold?: pulumi.Input<boolean>;
590
+ /**
591
+ * Enables [object retention](https://cloud.google.com/storage/docs/object-lock) on a storage bucket.
592
+ */
593
+ enableObjectRetention?: pulumi.Input<boolean>;
594
+ /**
595
+ * The bucket's encryption configuration. Structure is documented below.
596
+ */
597
+ encryption?: pulumi.Input<pulumiGcp.types.input.storage.BucketEncryption>;
598
+ /**
599
+ * When true, before deleting a bucket, delete all objects within the bucket, or Anywhere Caches caching data for that bucket. Otherwise, buckets with objects/caches will fail. Anywhere Cache requires additional permissions to interact with and will be assumed not present when the provider is not permissioned, attempting to delete the bucket anyways. This may result in the objects in the bucket getting destroyed but not the bucket itself if there is a cache in use with the bucket. Force deletion may take a long time to delete buckets with lots of objects or with any Anywhere Caches (80m+).
600
+ */
601
+ forceDestroy?: pulumi.Input<boolean>;
602
+ /**
603
+ * The bucket's hierarchical namespace policy, which defines the bucket capability to handle folders in logical structure. Structure is documented below. To use this configuration, <span pulumi-lang-nodejs="`uniformBucketLevelAccess`" pulumi-lang-dotnet="`UniformBucketLevelAccess`" pulumi-lang-go="`uniformBucketLevelAccess`" pulumi-lang-python="`uniform_bucket_level_access`" pulumi-lang-yaml="`uniformBucketLevelAccess`" pulumi-lang-java="`uniformBucketLevelAccess`">`uniform_bucket_level_access`</span> must be enabled on bucket.
604
+ */
605
+ hierarchicalNamespace?: pulumi.Input<pulumiGcp.types.input.storage.BucketHierarchicalNamespace>;
606
+ /**
607
+ * The bucket IP filtering configuration. Specifies the network sources that can access the bucket, as well as its underlying objects. Structure is documented below.
608
+ */
609
+ ipFilter?: pulumi.Input<pulumiGcp.types.input.storage.BucketIpFilter>;
610
+ /**
611
+ * A map of key/value label pairs to assign to the bucket.
612
+ */
613
+ labels?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;
614
+ /**
615
+ * The bucket's [Lifecycle Rules](https://cloud.google.com/storage/docs/lifecycle#configuration) configuration. Multiple blocks of this type are permitted. Structure is documented below.
616
+ */
617
+ lifecycleRules?: pulumi.Input<pulumi.Input<pulumiGcp.types.input.storage.BucketLifecycleRule>[]>;
618
+ /**
619
+ * The [GCS location](https://cloud.google.com/storage/docs/bucket-locations).
620
+ *
621
+ * - - -
622
+ */
623
+ location?: pulumi.Input<string>;
624
+ /**
625
+ * The bucket's [Access & Storage Logs](https://cloud.google.com/storage/docs/access-logs) configuration. Structure is documented below.
626
+ */
627
+ logging?: pulumi.Input<pulumiGcp.types.input.storage.BucketLogging>;
628
+ /**
629
+ * The name of the bucket. Bucket names must be in lowercase and no more than 63 characters long. You can find the complete list of bucket naming rules [here](https://cloud.google.com/storage/docs/buckets#naming).
630
+ */
631
+ name?: pulumi.Input<string>;
632
+ /**
633
+ * The ID of the project in which the resource belongs. If it
634
+ * is not provided, the provider project is used.
635
+ */
636
+ project?: pulumi.Input<string>;
637
+ /**
638
+ * Prevents public access to a bucket. Acceptable values are "inherited" or "enforced". If "inherited", the bucket uses [public access prevention](https://cloud.google.com/storage/docs/public-access-prevention) only if the bucket is subject to the public access prevention organization policy constraint. Defaults to "inherited".
639
+ */
640
+ publicAccessPrevention?: pulumi.Input<string>;
641
+ /**
642
+ * Enables [Requester Pays](https://cloud.google.com/storage/docs/requester-pays) on a storage bucket.
643
+ */
644
+ requesterPays?: pulumi.Input<boolean>;
645
+ /**
646
+ * Configuration of the bucket's data retention policy for how long objects in the bucket should be retained. Structure is documented below.
647
+ */
648
+ retentionPolicy?: pulumi.Input<pulumiGcp.types.input.storage.BucketRetentionPolicy>;
649
+ /**
650
+ * The recovery point objective for cross-region replication of the bucket. Applicable only for dual and multi-region buckets. `"DEFAULT"` sets default replication. `"ASYNC_TURBO"` value enables turbo replication, valid for dual-region buckets only. See [Turbo Replication](https://cloud.google.com/storage/docs/managing-turbo-replication) for more information. If rpo is not specified at bucket creation, it defaults to `"DEFAULT"` for dual and multi-region buckets. **NOTE** If used with single-region bucket, It will throw an error.
651
+ */
652
+ rpo?: pulumi.Input<string>;
653
+ /**
654
+ * The bucket's soft delete policy, which defines the period of time that soft-deleted objects will be retained, and cannot be permanently deleted. If the block is not provided, Server side value will be kept which means removal of block won't generate any terraform change. Structure is documented below.
655
+ */
656
+ softDeletePolicy?: pulumi.Input<pulumiGcp.types.input.storage.BucketSoftDeletePolicy>;
657
+ /**
658
+ * The [Storage Class](https://cloud.google.com/storage/docs/storage-classes) of the new bucket. Supported values include: `STANDARD`, `MULTI_REGIONAL`, `REGIONAL`, `NEARLINE`, `COLDLINE`, `ARCHIVE`.
659
+ */
660
+ storageClass?: pulumi.Input<string>;
661
+ /**
662
+ * Enables [Uniform bucket-level access](https://cloud.google.com/storage/docs/uniform-bucket-level-access) access to a bucket.
663
+ */
664
+ uniformBucketLevelAccess?: pulumi.Input<boolean>;
665
+ /**
666
+ * The bucket's [Versioning](https://cloud.google.com/storage/docs/object-versioning) configuration. Structure is documented below.
667
+ */
668
+ versioning?: pulumi.Input<pulumiGcp.types.input.storage.BucketVersioning>;
669
+ /**
670
+ * Configuration if the bucket acts as a website. Structure is documented below.
671
+ */
672
+ website?: pulumi.Input<pulumiGcp.types.input.storage.BucketWebsite>;
673
+ }
674
+
675
+ export interface BucketTransformArgsArgs {
676
+ bucket?: pulumi.Input<inputs.gcp.BucketTransformArgs>;
677
+ }
678
+
679
+ export interface FunctionTransformArgs {
680
+ /**
681
+ * Describes the Build step of the function that builds a container
682
+ * from the given source.
683
+ * Structure is documented below.
684
+ */
685
+ buildConfig?: pulumi.Input<pulumiGcp.types.input.cloudfunctionsv2.FunctionBuildConfig>;
686
+ /**
687
+ * User-provided description of a function.
688
+ */
689
+ description?: pulumi.Input<string>;
690
+ /**
691
+ * An Eventarc trigger managed by Google Cloud Functions that fires events in
692
+ * response to a condition in another service.
693
+ * Structure is documented below.
694
+ */
695
+ eventTrigger?: pulumi.Input<pulumiGcp.types.input.cloudfunctionsv2.FunctionEventTrigger>;
696
+ /**
697
+ * Resource name of a KMS crypto key (managed by the user) used to encrypt/decrypt function resources.
698
+ * It must match the pattern projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}.
699
+ */
700
+ kmsKeyName?: pulumi.Input<string>;
701
+ /**
702
+ * A set of key/value label pairs associated with this Cloud Function.
703
+ *
704
+ * **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
705
+ * Please refer to the field <span pulumi-lang-nodejs="`effectiveLabels`" pulumi-lang-dotnet="`EffectiveLabels`" pulumi-lang-go="`effectiveLabels`" pulumi-lang-python="`effective_labels`" pulumi-lang-yaml="`effectiveLabels`" pulumi-lang-java="`effectiveLabels`">`effective_labels`</span> for all of the labels present on the resource.
706
+ */
707
+ labels?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;
708
+ /**
709
+ * The location of this cloud function.
710
+ */
711
+ location?: pulumi.Input<string>;
712
+ /**
713
+ * A user-defined name of the function. Function names must
714
+ * be unique globally and match pattern `projects/*&#47;locations/*&#47;functions/*`.
715
+ */
716
+ name?: pulumi.Input<string>;
717
+ /**
718
+ * The ID of the project in which the resource belongs.
719
+ * If it is not provided, the provider project is used.
720
+ */
721
+ project?: pulumi.Input<string>;
722
+ /**
723
+ * Describes the Service being deployed.
724
+ * Structure is documented below.
725
+ */
726
+ serviceConfig?: pulumi.Input<pulumiGcp.types.input.cloudfunctionsv2.FunctionServiceConfig>;
727
+ }
728
+
729
+ export interface FunctionTransformArgsArgs {
730
+ function?: pulumi.Input<inputs.gcp.FunctionTransformArgs>;
731
+ }
732
+ }