tfts 0.2.2 → 0.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/dist/src/cli/get.d.ts.map +1 -1
  2. package/dist/src/cli/get.js +34 -1
  3. package/dist/src/cli/get.js.map +1 -1
  4. package/dist/src/codegen/__tests__/fixtures.d.ts +5 -0
  5. package/dist/src/codegen/__tests__/fixtures.d.ts.map +1 -0
  6. package/dist/src/codegen/__tests__/fixtures.js +133 -0
  7. package/dist/src/codegen/__tests__/fixtures.js.map +1 -0
  8. package/dist/src/codegen/__tests__/generator.spec.js +233 -29
  9. package/dist/src/codegen/__tests__/generator.spec.js.map +1 -1
  10. package/dist/src/codegen/fn-generator.d.ts +22 -0
  11. package/dist/src/codegen/fn-generator.d.ts.map +1 -0
  12. package/dist/src/codegen/fn-generator.js +203 -0
  13. package/dist/src/codegen/fn-generator.js.map +1 -0
  14. package/dist/src/codegen/generator.d.ts +1 -5
  15. package/dist/src/codegen/generator.d.ts.map +1 -1
  16. package/dist/src/codegen/generator.js +368 -187
  17. package/dist/src/codegen/generator.js.map +1 -1
  18. package/dist/src/codegen/schema.d.ts +0 -2
  19. package/dist/src/codegen/schema.d.ts.map +1 -1
  20. package/dist/src/codegen/schema.js +0 -97
  21. package/dist/src/codegen/schema.js.map +1 -1
  22. package/dist/src/core/tokens.d.ts +8 -14
  23. package/dist/src/core/tokens.d.ts.map +1 -1
  24. package/dist/src/core/tokens.js +3 -3
  25. package/dist/src/core/tokens.js.map +1 -1
  26. package/dist/src/facade/datasource.d.ts +2 -2
  27. package/dist/src/facade/datasource.d.ts.map +1 -1
  28. package/dist/src/facade/datasource.js +2 -2
  29. package/dist/src/facade/datasource.js.map +1 -1
  30. package/dist/src/facade/resource.d.ts +2 -2
  31. package/dist/src/facade/resource.d.ts.map +1 -1
  32. package/dist/src/facade/resource.js +2 -2
  33. package/dist/src/facade/resource.js.map +1 -1
  34. package/dist/src/facade/stack.d.ts +1 -2
  35. package/dist/src/facade/stack.d.ts.map +1 -1
  36. package/dist/src/facade/stack.js +3 -1
  37. package/dist/src/facade/stack.js.map +1 -1
  38. package/dist/src/generated/fn.d.ts +599 -0
  39. package/dist/src/generated/fn.d.ts.map +1 -0
  40. package/dist/src/generated/fn.js +998 -0
  41. package/dist/src/generated/fn.js.map +1 -0
  42. package/dist/src/index.d.ts +5 -4
  43. package/dist/src/index.d.ts.map +1 -1
  44. package/dist/src/index.js +4 -3
  45. package/dist/src/index.js.map +1 -1
  46. package/package.json +3 -2
  47. package/dist/src/codegen/templates.d.ts +0 -13
  48. package/dist/src/codegen/templates.d.ts.map +0 -1
  49. package/dist/src/codegen/templates.js +0 -58
  50. package/dist/src/codegen/templates.js.map +0 -1
@@ -0,0 +1,599 @@
1
+ /**
2
+ * Generated by scripts/generate-fn.ts - do not edit manually.
3
+ * Regenerate: bun run generate:fn
4
+ */
5
+ import type { TfString, TfNumber, TfBoolean, TerraformValue } from "../core/tokens.js";
6
+ import { TokenValue } from "../core/tokens.js";
7
+ export declare class Fn {
8
+ /**
9
+ * `abs` returns the absolute value of the given number. In other words, if the number is zero or positive then it is returned as-is, but if it is negative then it is multiplied by -1 to make it positive before returning it.
10
+ * @see https://developer.hashicorp.com/terraform/language/functions/abs
11
+ */
12
+ static abs(num: TfNumber): TokenValue<number>;
13
+ /**
14
+ * `abspath` takes a string containing a filesystem path and converts it to an absolute path. That is, if the path is not absolute, it will be joined with the current working directory.
15
+ * @see https://developer.hashicorp.com/terraform/language/functions/abspath
16
+ */
17
+ static abspath(path: TfString): TokenValue<string>;
18
+ /**
19
+ * `alltrue` returns `true` if all elements in a given collection are `true` or `"true"`. It also returns `true` if the collection is empty.
20
+ * @see https://developer.hashicorp.com/terraform/language/functions/alltrue
21
+ */
22
+ static alltrue(list: readonly TfBoolean[]): TokenValue<boolean>;
23
+ /**
24
+ * `anytrue` returns `true` if any element in a given collection is `true` or `"true"`. It also returns `false` if the collection is empty.
25
+ * @see https://developer.hashicorp.com/terraform/language/functions/anytrue
26
+ */
27
+ static anytrue(list: readonly TfBoolean[]): TokenValue<boolean>;
28
+ /**
29
+ * `base64decode` takes a string containing a Base64 character sequence and returns the original string.
30
+ * @see https://developer.hashicorp.com/terraform/language/functions/base64decode
31
+ */
32
+ static base64decode(str: TfString): TokenValue<string>;
33
+ /**
34
+ * `base64encode` applies Base64 encoding to a string.
35
+ * @see https://developer.hashicorp.com/terraform/language/functions/base64encode
36
+ */
37
+ static base64encode(str: TfString): TokenValue<string>;
38
+ /**
39
+ * `base64gzip` compresses a string with gzip and then encodes the result in Base64 encoding.
40
+ * @see https://developer.hashicorp.com/terraform/language/functions/base64gzip
41
+ */
42
+ static base64gzip(str: TfString): TokenValue<string>;
43
+ /**
44
+ * `base64sha256` computes the SHA256 hash of a given string and encodes it with Base64. This is not equivalent to `base64encode(sha256("test"))` since `sha256()` returns hexadecimal representation.
45
+ * @see https://developer.hashicorp.com/terraform/language/functions/base64sha256
46
+ */
47
+ static base64sha256(str: TfString): TokenValue<string>;
48
+ /**
49
+ * `base64sha512` computes the SHA512 hash of a given string and encodes it with Base64. This is not equivalent to `base64encode(sha512("test"))` since `sha512()` returns hexadecimal representation.
50
+ * @see https://developer.hashicorp.com/terraform/language/functions/base64sha512
51
+ */
52
+ static base64sha512(str: TfString): TokenValue<string>;
53
+ /**
54
+ * `basename` takes a string containing a filesystem path and removes all except the last portion from it.
55
+ * @see https://developer.hashicorp.com/terraform/language/functions/basename
56
+ */
57
+ static basename(path: TfString): TokenValue<string>;
58
+ /**
59
+ * `bcrypt` computes a hash of the given string using the Blowfish cipher, returning a string in [the _Modular Crypt Format_](https://passlib.readthedocs.io/en/stable/modular_crypt_format.html) usually expected in the shadow password file on many Unix systems.
60
+ * @see https://developer.hashicorp.com/terraform/language/functions/bcrypt
61
+ */
62
+ static bcrypt(str: TfString, ...cost: TfNumber[]): TokenValue<string>;
63
+ /**
64
+ * `can` evaluates the given expression and returns a boolean value indicating whether the expression produced a result without any errors.
65
+ * @see https://developer.hashicorp.com/terraform/language/functions/can
66
+ */
67
+ static can(expression: TerraformValue): TokenValue<boolean>;
68
+ /**
69
+ * `ceil` returns the closest whole number that is greater than or equal to the given value, which may be a fraction.
70
+ * @see https://developer.hashicorp.com/terraform/language/functions/ceil
71
+ */
72
+ static ceil(num: TfNumber): TokenValue<number>;
73
+ /**
74
+ * `chomp` removes newline characters at the end of a string.
75
+ * @see https://developer.hashicorp.com/terraform/language/functions/chomp
76
+ */
77
+ static chomp(str: TfString): TokenValue<string>;
78
+ /**
79
+ * `chunklist` splits a single list into fixed-size chunks, returning a list of lists.
80
+ * @see https://developer.hashicorp.com/terraform/language/functions/chunklist
81
+ */
82
+ static chunklist(list: readonly TerraformValue[], size: TfNumber): TokenValue<unknown[][]>;
83
+ /**
84
+ * `cidrhost` calculates a full host IP address for a given host number within a given IP network address prefix.
85
+ * @see https://developer.hashicorp.com/terraform/language/functions/cidrhost
86
+ */
87
+ static cidrhost(prefix: TfString, hostnum: TfNumber): TokenValue<string>;
88
+ /**
89
+ * `cidrnetmask` converts an IPv4 address prefix given in CIDR notation into a subnet mask address.
90
+ * @see https://developer.hashicorp.com/terraform/language/functions/cidrnetmask
91
+ */
92
+ static cidrnetmask(prefix: TfString): TokenValue<string>;
93
+ /**
94
+ * `cidrsubnet` calculates a subnet address within given IP network address prefix.
95
+ * @see https://developer.hashicorp.com/terraform/language/functions/cidrsubnet
96
+ */
97
+ static cidrsubnet(prefix: TfString, newbits: TfNumber, netnum: TfNumber): TokenValue<string>;
98
+ /**
99
+ * `cidrsubnets` calculates a sequence of consecutive IP address ranges within a particular CIDR prefix.
100
+ * @see https://developer.hashicorp.com/terraform/language/functions/cidrsubnets
101
+ */
102
+ static cidrsubnets(prefix: TfString, ...newbits: TfNumber[]): TokenValue<string[]>;
103
+ /**
104
+ * `coalesce` takes any number of arguments and returns the first one that isn't null or an empty string.
105
+ * @see https://developer.hashicorp.com/terraform/language/functions/coalesce
106
+ */
107
+ static coalesce(...vals: TerraformValue[]): TokenValue<unknown>;
108
+ /**
109
+ * `coalescelist` takes any number of list arguments and returns the first one that isn't empty.
110
+ * @see https://developer.hashicorp.com/terraform/language/functions/coalescelist
111
+ */
112
+ static coalescelist(...vals: TerraformValue[]): TokenValue<unknown>;
113
+ /**
114
+ * `compact` takes a list of strings and returns a new list with any empty string elements removed.
115
+ * @see https://developer.hashicorp.com/terraform/language/functions/compact
116
+ */
117
+ static compact(list: readonly TfString[]): TokenValue<string[]>;
118
+ /**
119
+ * `concat` takes two or more lists and combines them into a single list.
120
+ * @see https://developer.hashicorp.com/terraform/language/functions/concat
121
+ */
122
+ static concat(...seqs: TerraformValue[]): TokenValue<unknown>;
123
+ /**
124
+ * `contains` determines whether a given list or set contains a given single value as one of its elements.
125
+ * @see https://developer.hashicorp.com/terraform/language/functions/contains
126
+ */
127
+ static contains(list: TerraformValue, value: TerraformValue): TokenValue<unknown>;
128
+ /**
129
+ * `csvdecode` decodes a string containing CSV-formatted data and produces a list of maps representing that data.
130
+ * @see https://developer.hashicorp.com/terraform/language/functions/csvdecode
131
+ */
132
+ static csvdecode(str: TfString): TokenValue<unknown>;
133
+ /**
134
+ * `dirname` takes a string containing a filesystem path and removes the last portion from it.
135
+ * @see https://developer.hashicorp.com/terraform/language/functions/dirname
136
+ */
137
+ static dirname(path: TfString): TokenValue<string>;
138
+ /**
139
+ * `distinct` takes a list and returns a new list with any duplicate elements removed.
140
+ * @see https://developer.hashicorp.com/terraform/language/functions/distinct
141
+ */
142
+ static distinct(list: readonly TerraformValue[]): TokenValue<unknown[]>;
143
+ /**
144
+ * `element` retrieves a single element from a list.
145
+ * @see https://developer.hashicorp.com/terraform/language/functions/element
146
+ */
147
+ static element(list: TerraformValue, index: TfNumber): TokenValue<unknown>;
148
+ /**
149
+ * `endswith` takes two values: a string to check and a suffix string. The function returns true if the first string ends with that exact suffix.
150
+ * @see https://developer.hashicorp.com/terraform/language/functions/endswith
151
+ */
152
+ static endswith(str: TfString, suffix: TfString): TokenValue<boolean>;
153
+ /**
154
+ * `ephemeralasnull` takes a value of any type and returns a similar value of the same type with any ephemeral values replaced with non-ephemeral null values and all non-ephemeral values preserved.
155
+ * @see https://developer.hashicorp.com/terraform/language/functions/ephemeralasnull
156
+ */
157
+ static ephemeralasnull(value: TerraformValue): TokenValue<unknown>;
158
+ /**
159
+ * `file` reads the contents of a file at the given path and returns them as a string.
160
+ * @see https://developer.hashicorp.com/terraform/language/functions/file
161
+ */
162
+ static file(path: TfString): TokenValue<string>;
163
+ /**
164
+ * `filebase64` reads the contents of a file at the given path and returns them as a base64-encoded string.
165
+ * @see https://developer.hashicorp.com/terraform/language/functions/filebase64
166
+ */
167
+ static filebase64(path: TfString): TokenValue<string>;
168
+ /**
169
+ * `filebase64sha256` is a variant of `base64sha256` that hashes the contents of a given file rather than a literal string.
170
+ * @see https://developer.hashicorp.com/terraform/language/functions/filebase64sha256
171
+ */
172
+ static filebase64sha256(path: TfString): TokenValue<string>;
173
+ /**
174
+ * `filebase64sha512` is a variant of `base64sha512` that hashes the contents of a given file rather than a literal string.
175
+ * @see https://developer.hashicorp.com/terraform/language/functions/filebase64sha512
176
+ */
177
+ static filebase64sha512(path: TfString): TokenValue<string>;
178
+ /**
179
+ * `fileexists` determines whether a file exists at a given path.
180
+ * @see https://developer.hashicorp.com/terraform/language/functions/fileexists
181
+ */
182
+ static fileexists(path: TfString): TokenValue<boolean>;
183
+ /**
184
+ * `filemd5` is a variant of `md5` that hashes the contents of a given file rather than a literal string.
185
+ * @see https://developer.hashicorp.com/terraform/language/functions/filemd5
186
+ */
187
+ static filemd5(path: TfString): TokenValue<string>;
188
+ /**
189
+ * `fileset` enumerates a set of regular file names given a path and pattern. The path is automatically removed from the resulting set of file names and any result still containing path separators always returns forward slash (`/`) as the path separator for cross-system compatibility.
190
+ * @see https://developer.hashicorp.com/terraform/language/functions/fileset
191
+ */
192
+ static fileset(path: TfString, pattern: TfString): TokenValue<string[]>;
193
+ /**
194
+ * `filesha1` is a variant of `sha1` that hashes the contents of a given file rather than a literal string.
195
+ * @see https://developer.hashicorp.com/terraform/language/functions/filesha1
196
+ */
197
+ static filesha1(path: TfString): TokenValue<string>;
198
+ /**
199
+ * `filesha256` is a variant of `sha256` that hashes the contents of a given file rather than a literal string.
200
+ * @see https://developer.hashicorp.com/terraform/language/functions/filesha256
201
+ */
202
+ static filesha256(path: TfString): TokenValue<string>;
203
+ /**
204
+ * `filesha512` is a variant of `sha512` that hashes the contents of a given file rather than a literal string.
205
+ * @see https://developer.hashicorp.com/terraform/language/functions/filesha512
206
+ */
207
+ static filesha512(path: TfString): TokenValue<string>;
208
+ /**
209
+ * `flatten` takes a list and replaces any elements that are lists with a flattened sequence of the list contents.
210
+ * @see https://developer.hashicorp.com/terraform/language/functions/flatten
211
+ */
212
+ static flatten(list: TerraformValue): TokenValue<unknown>;
213
+ /**
214
+ * `floor` returns the closest whole number that is less than or equal to the given value, which may be a fraction.
215
+ * @see https://developer.hashicorp.com/terraform/language/functions/floor
216
+ */
217
+ static floor(num: TfNumber): TokenValue<number>;
218
+ /**
219
+ * The `format` function produces a string by formatting a number of other values according to a specification string. It is similar to the `printf` function in C, and other similar functions in other programming languages.
220
+ * @see https://developer.hashicorp.com/terraform/language/functions/format
221
+ */
222
+ static format(format: TfString, ...args: TerraformValue[]): TokenValue<string>;
223
+ /**
224
+ * `formatdate` converts a timestamp into a different time format.
225
+ * @see https://developer.hashicorp.com/terraform/language/functions/formatdate
226
+ */
227
+ static formatdate(format: TfString, time: TfString): TokenValue<string>;
228
+ /**
229
+ * `formatlist` produces a list of strings by formatting a number of other values according to a specification string.
230
+ * @see https://developer.hashicorp.com/terraform/language/functions/formatlist
231
+ */
232
+ static formatlist(format: TfString, ...args: TerraformValue[]): TokenValue<string[]>;
233
+ /**
234
+ * `indent` adds a given number of spaces to the beginnings of all but the first line in a given multi-line string.
235
+ * @see https://developer.hashicorp.com/terraform/language/functions/indent
236
+ */
237
+ static indent(spaces: TfNumber, str: TfString): TokenValue<string>;
238
+ /**
239
+ * `index` finds the element index for a given value in a list.
240
+ * @see https://developer.hashicorp.com/terraform/language/functions/index
241
+ */
242
+ static index(list: TerraformValue, value: TerraformValue): TokenValue<unknown>;
243
+ /**
244
+ * `issensitive` takes a value and returns a boolean indicating if the value is sensitive.
245
+ * @see https://developer.hashicorp.com/terraform/language/functions/issensitive
246
+ */
247
+ static issensitive(value: TerraformValue): TokenValue<boolean>;
248
+ /**
249
+ * `join` produces a string by concatenating together all elements of a given list of strings with the given delimiter.
250
+ * @see https://developer.hashicorp.com/terraform/language/functions/join
251
+ */
252
+ static join(separator: TfString, ...lists: readonly TfString[][]): TokenValue<string>;
253
+ /**
254
+ * `jsondecode` interprets a given string as JSON, returning a representation of the result of decoding that string.
255
+ * @see https://developer.hashicorp.com/terraform/language/functions/jsondecode
256
+ */
257
+ static jsondecode(str: TfString): TokenValue<unknown>;
258
+ /**
259
+ * `jsonencode` encodes a given value to a string using JSON syntax.
260
+ * @see https://developer.hashicorp.com/terraform/language/functions/jsonencode
261
+ */
262
+ static jsonencode(val: TerraformValue): TokenValue<string>;
263
+ /**
264
+ * `keys` takes a map and returns a list containing the keys from that map.
265
+ * @see https://developer.hashicorp.com/terraform/language/functions/keys
266
+ */
267
+ static keys(inputMap: TerraformValue): TokenValue<unknown>;
268
+ /**
269
+ * `length` determines the length of a given list, map, or string.
270
+ * @see https://developer.hashicorp.com/terraform/language/functions/length
271
+ */
272
+ static length(value: TerraformValue): TokenValue<number>;
273
+ /**
274
+ * `log` returns the logarithm of a given number in a given base.
275
+ * @see https://developer.hashicorp.com/terraform/language/functions/log
276
+ */
277
+ static log(num: TfNumber, base: TfNumber): TokenValue<number>;
278
+ /**
279
+ * `lookup` retrieves the value of a single element from a map, given its key. If the given key does not exist, the given default value is returned instead.
280
+ * @see https://developer.hashicorp.com/terraform/language/functions/lookup
281
+ */
282
+ static lookup(inputMap: TerraformValue, key: TfString, ...default_: TerraformValue[]): TokenValue<unknown>;
283
+ /**
284
+ * `lower` converts all cased letters in the given string to lowercase.
285
+ * @see https://developer.hashicorp.com/terraform/language/functions/lower
286
+ */
287
+ static lower(str: TfString): TokenValue<string>;
288
+ /**
289
+ * `matchkeys` constructs a new list by taking a subset of elements from one list whose indexes match the corresponding indexes of values in another list.
290
+ * @see https://developer.hashicorp.com/terraform/language/functions/matchkeys
291
+ */
292
+ static matchkeys(values: readonly TerraformValue[], keys: readonly TerraformValue[], searchset: readonly TerraformValue[]): TokenValue<unknown[]>;
293
+ /**
294
+ * `max` takes one or more numbers and returns the greatest number from the set.
295
+ * @see https://developer.hashicorp.com/terraform/language/functions/max
296
+ */
297
+ static max(...numbers: TfNumber[]): TokenValue<number>;
298
+ /**
299
+ * `md5` computes the MD5 hash of a given string and encodes it with hexadecimal digits.
300
+ * @see https://developer.hashicorp.com/terraform/language/functions/md5
301
+ */
302
+ static md5(str: TfString): TokenValue<string>;
303
+ /**
304
+ * `merge` takes an arbitrary number of maps or objects, and returns a single map or object that contains a merged set of elements from all arguments.
305
+ * @see https://developer.hashicorp.com/terraform/language/functions/merge
306
+ */
307
+ static merge(...maps: TerraformValue[]): TokenValue<unknown>;
308
+ /**
309
+ * `min` takes one or more numbers and returns the smallest number from the set.
310
+ * @see https://developer.hashicorp.com/terraform/language/functions/min
311
+ */
312
+ static min(...numbers: TfNumber[]): TokenValue<number>;
313
+ /**
314
+ * `nonsensitive` takes a sensitive value and returns a copy of that value with the sensitive marking removed, thereby exposing the sensitive value.
315
+ * @see https://developer.hashicorp.com/terraform/language/functions/nonsensitive
316
+ */
317
+ static nonsensitive(value: TerraformValue): TokenValue<unknown>;
318
+ /**
319
+ * `one` takes a list, set, or tuple value with either zero or one elements. If the collection is empty, `one` returns `null`. Otherwise, `one` returns the first element. If there are two or more elements then `one` will return an error.
320
+ * @see https://developer.hashicorp.com/terraform/language/functions/one
321
+ */
322
+ static one(list: TerraformValue): TokenValue<unknown>;
323
+ /**
324
+ * `parseint` parses the given string as a representation of an integer in the specified base and returns the resulting number. The base must be between 2 and 62 inclusive.
325
+ * @see https://developer.hashicorp.com/terraform/language/functions/parseint
326
+ */
327
+ static parseint(number: TerraformValue, base: TfNumber): TokenValue<unknown>;
328
+ /**
329
+ * `pathexpand` takes a filesystem path that might begin with a `~` segment, and if so it replaces that segment with the current user's home directory path.
330
+ * @see https://developer.hashicorp.com/terraform/language/functions/pathexpand
331
+ */
332
+ static pathexpand(path: TfString): TokenValue<string>;
333
+ /**
334
+ * `plantimestamp` returns a UTC timestamp string in [RFC 3339](https://tools.ietf.org/html/rfc3339) format, fixed to a constant time representing the time of the plan.
335
+ * @see https://developer.hashicorp.com/terraform/language/functions/plantimestamp
336
+ */
337
+ static plantimestamp(): TokenValue<string>;
338
+ /**
339
+ * `pow` calculates an exponent, by raising its first argument to the power of the second argument.
340
+ * @see https://developer.hashicorp.com/terraform/language/functions/pow
341
+ */
342
+ static pow(num: TfNumber, power: TfNumber): TokenValue<number>;
343
+ /**
344
+ * `range` generates a list of numbers using a start value, a limit value, and a step value.
345
+ * @see https://developer.hashicorp.com/terraform/language/functions/range
346
+ */
347
+ static range(...params: TfNumber[]): TokenValue<number[]>;
348
+ /**
349
+ * `regex` applies a [regular expression](https://en.wikipedia.org/wiki/Regular_expression) to a string and returns the matching substrings.
350
+ * @see https://developer.hashicorp.com/terraform/language/functions/regex
351
+ */
352
+ static regex(pattern: TfString, string: TfString): TokenValue<unknown>;
353
+ /**
354
+ * `regexall` applies a [regular expression](https://en.wikipedia.org/wiki/Regular_expression) to a string and returns a list of all matches.
355
+ * @see https://developer.hashicorp.com/terraform/language/functions/regexall
356
+ */
357
+ static regexall(pattern: TfString, string: TfString): TokenValue<unknown[]>;
358
+ /**
359
+ * `replace` searches a given string for another given substring, and replaces each occurrence with a given replacement string.
360
+ * @see https://developer.hashicorp.com/terraform/language/functions/replace
361
+ */
362
+ static replace(str: TfString, substr: TfString, replace: TfString): TokenValue<string>;
363
+ /**
364
+ * `reverse` takes a sequence and produces a new sequence of the same length with all of the same elements as the given sequence but in reverse order.
365
+ * @see https://developer.hashicorp.com/terraform/language/functions/reverse
366
+ */
367
+ static reverse(list: TerraformValue): TokenValue<unknown>;
368
+ /**
369
+ * `rsadecrypt` decrypts an RSA-encrypted ciphertext, returning the corresponding cleartext.
370
+ * @see https://developer.hashicorp.com/terraform/language/functions/rsadecrypt
371
+ */
372
+ static rsadecrypt(ciphertext: TfString, privatekey: TfString): TokenValue<string>;
373
+ /**
374
+ * `sensitive` takes any value and returns a copy of it marked so that Terraform will treat it as sensitive, with the same meaning and behavior as for [sensitive input variables](/terraform/language/values/variables#suppressing-values-in-cli-output).
375
+ * @see https://developer.hashicorp.com/terraform/language/functions/sensitive
376
+ */
377
+ static sensitive(value: TerraformValue): TokenValue<unknown>;
378
+ /**
379
+ * The `setintersection` function takes multiple sets and produces a single set containing only the elements that all of the given sets have in common. In other words, it computes the [intersection](https://en.wikipedia.org/wiki/Intersection_\(set_theory\)) of the sets.
380
+ * @see https://developer.hashicorp.com/terraform/language/functions/setintersection
381
+ */
382
+ static setintersection(first_set: readonly TerraformValue[], ...other_sets: readonly TerraformValue[][]): TokenValue<unknown[]>;
383
+ /**
384
+ * The `setproduct` function finds all of the possible combinations of elements from all of the given sets by computing the [Cartesian product](https://en.wikipedia.org/wiki/Cartesian_product).
385
+ * @see https://developer.hashicorp.com/terraform/language/functions/setproduct
386
+ */
387
+ static setproduct(...sets: TerraformValue[]): TokenValue<unknown>;
388
+ /**
389
+ * The `setsubtract` function returns a new set containing the elements from the first set that are not present in the second set. In other words, it computes the [relative complement](https://en.wikipedia.org/wiki/Complement_\(set_theory\)#Relative_complement) of the second set.
390
+ * @see https://developer.hashicorp.com/terraform/language/functions/setsubtract
391
+ */
392
+ static setsubtract(a: readonly TerraformValue[], b: readonly TerraformValue[]): TokenValue<unknown[]>;
393
+ /**
394
+ * The `setunion` function takes multiple sets and produces a single set containing the elements from all of the given sets. In other words, it computes the [union](https://en.wikipedia.org/wiki/Union_\(set_theory\)) of the sets.
395
+ * @see https://developer.hashicorp.com/terraform/language/functions/setunion
396
+ */
397
+ static setunion(first_set: readonly TerraformValue[], ...other_sets: readonly TerraformValue[][]): TokenValue<unknown[]>;
398
+ /**
399
+ * `sha1` computes the SHA1 hash of a given string and encodes it with hexadecimal digits.
400
+ * @see https://developer.hashicorp.com/terraform/language/functions/sha1
401
+ */
402
+ static sha1(str: TfString): TokenValue<string>;
403
+ /**
404
+ * `sha256` computes the SHA256 hash of a given string and encodes it with hexadecimal digits.
405
+ * @see https://developer.hashicorp.com/terraform/language/functions/sha256
406
+ */
407
+ static sha256(str: TfString): TokenValue<string>;
408
+ /**
409
+ * `sha512` computes the SHA512 hash of a given string and encodes it with hexadecimal digits.
410
+ * @see https://developer.hashicorp.com/terraform/language/functions/sha512
411
+ */
412
+ static sha512(str: TfString): TokenValue<string>;
413
+ /**
414
+ * `signum` determines the sign of a number, returning a number between -1 and 1 to represent the sign.
415
+ * @see https://developer.hashicorp.com/terraform/language/functions/signum
416
+ */
417
+ static signum(num: TfNumber): TokenValue<number>;
418
+ /**
419
+ * `slice` extracts some consecutive elements from within a list.
420
+ * @see https://developer.hashicorp.com/terraform/language/functions/slice
421
+ */
422
+ static slice(list: TerraformValue, start_index: TfNumber, end_index: TfNumber): TokenValue<unknown>;
423
+ /**
424
+ * `sort` takes a list of strings and returns a new list with those strings sorted lexicographically.
425
+ * @see https://developer.hashicorp.com/terraform/language/functions/sort
426
+ */
427
+ static sort(list: readonly TfString[]): TokenValue<string[]>;
428
+ /**
429
+ * `split` produces a list by dividing a given string at all occurrences of a given separator.
430
+ * @see https://developer.hashicorp.com/terraform/language/functions/split
431
+ */
432
+ static split(separator: TfString, str: TfString): TokenValue<string[]>;
433
+ /**
434
+ * `startswith` takes two values: a string to check and a prefix string. The function returns true if the string begins with that exact prefix.
435
+ * @see https://developer.hashicorp.com/terraform/language/functions/startswith
436
+ */
437
+ static startswith(str: TfString, prefix: TfString): TokenValue<boolean>;
438
+ /**
439
+ * `strcontains` takes two values: a string to check and an expected substring. The function returns true if the string has the substring contained within it.
440
+ * @see https://developer.hashicorp.com/terraform/language/functions/strcontains
441
+ */
442
+ static strcontains(str: TfString, substr: TfString): TokenValue<boolean>;
443
+ /**
444
+ * `strrev` reverses the characters in a string. Note that the characters are treated as _Unicode characters_ (in technical terms, Unicode [grapheme cluster boundaries](https://unicode.org/reports/tr29/#Grapheme_Cluster_Boundaries) are respected).
445
+ * @see https://developer.hashicorp.com/terraform/language/functions/strrev
446
+ */
447
+ static strrev(str: TfString): TokenValue<string>;
448
+ /**
449
+ * `substr` extracts a substring from a given string by offset and (maximum) length.
450
+ * @see https://developer.hashicorp.com/terraform/language/functions/substr
451
+ */
452
+ static substr(str: TfString, offset: TfNumber, length: TfNumber): TokenValue<string>;
453
+ /**
454
+ * `sum` takes a list or set of numbers and returns the sum of those numbers.
455
+ * @see https://developer.hashicorp.com/terraform/language/functions/sum
456
+ */
457
+ static sum(list: TerraformValue): TokenValue<unknown>;
458
+ /**
459
+ * `templatefile` reads the file at the given path and renders its content as a template using a supplied set of template variables.
460
+ * @see https://developer.hashicorp.com/terraform/language/functions/templatefile
461
+ */
462
+ static templatefile(path: TfString, vars: TerraformValue): TokenValue<unknown>;
463
+ /**
464
+ * `templatestring` takes a string from elsewhere in the module and renders its content as a template using a supplied set of template variables.
465
+ * @see https://developer.hashicorp.com/terraform/language/functions/templatestring
466
+ */
467
+ static templatestring(template: TfString, vars: TerraformValue): TokenValue<string>;
468
+ /**
469
+ * `textdecodebase64` function decodes a string that was previously Base64-encoded, and then interprets the result as characters in a specified character encoding.
470
+ * @see https://developer.hashicorp.com/terraform/language/functions/textdecodebase64
471
+ */
472
+ static textdecodebase64(source: TfString, encoding: TfString): TokenValue<string>;
473
+ /**
474
+ * `textencodebase64` encodes the unicode characters in a given string using a specified character encoding, returning the result base64 encoded because Terraform language strings are always sequences of unicode characters.
475
+ * @see https://developer.hashicorp.com/terraform/language/functions/textencodebase64
476
+ */
477
+ static textencodebase64(string: TfString, encoding: TfString): TokenValue<string>;
478
+ /**
479
+ * `timeadd` adds a duration to a timestamp, returning a new timestamp.
480
+ * @see https://developer.hashicorp.com/terraform/language/functions/timeadd
481
+ */
482
+ static timeadd(timestamp: TfString, duration: TfString): TokenValue<string>;
483
+ /**
484
+ * `timecmp` compares two timestamps and returns a number that represents the ordering of the instants those timestamps represent.
485
+ * @see https://developer.hashicorp.com/terraform/language/functions/timecmp
486
+ */
487
+ static timecmp(timestamp_a: TfString, timestamp_b: TfString): TokenValue<number>;
488
+ /**
489
+ * `timestamp` returns a UTC timestamp string in [RFC 3339](https://tools.ietf.org/html/rfc3339) format.
490
+ * @see https://developer.hashicorp.com/terraform/language/functions/timestamp
491
+ */
492
+ static timestamp(): TokenValue<string>;
493
+ /**
494
+ * `title` converts the first letter of each word in the given string to uppercase.
495
+ * @see https://developer.hashicorp.com/terraform/language/functions/title
496
+ */
497
+ static title(str: TfString): TokenValue<string>;
498
+ /**
499
+ * `tobool` converts its argument to a boolean value.
500
+ * @see https://developer.hashicorp.com/terraform/language/functions/tobool
501
+ */
502
+ static tobool(v: TerraformValue): TokenValue<boolean>;
503
+ /**
504
+ * `tolist` converts its argument to a list value.
505
+ * @see https://developer.hashicorp.com/terraform/language/functions/tolist
506
+ */
507
+ static tolist(v: TerraformValue): TokenValue<unknown[]>;
508
+ /**
509
+ * `tomap` converts its argument to a map value.
510
+ * @see https://developer.hashicorp.com/terraform/language/functions/tomap
511
+ */
512
+ static tomap(v: TerraformValue): TokenValue<Record<string, unknown>>;
513
+ /**
514
+ * `tonumber` converts its argument to a number value.
515
+ * @see https://developer.hashicorp.com/terraform/language/functions/tonumber
516
+ */
517
+ static tonumber(v: TerraformValue): TokenValue<number>;
518
+ /**
519
+ * `toset` converts its argument to a set value.
520
+ * @see https://developer.hashicorp.com/terraform/language/functions/toset
521
+ */
522
+ static toset(v: TerraformValue): TokenValue<unknown[]>;
523
+ /**
524
+ * `tostring` converts its argument to a string value.
525
+ * @see https://developer.hashicorp.com/terraform/language/functions/tostring
526
+ */
527
+ static tostring(v: TerraformValue): TokenValue<string>;
528
+ /**
529
+ * `transpose` takes a map of lists of strings and swaps the keys and values to produce a new map of lists of strings.
530
+ * @see https://developer.hashicorp.com/terraform/language/functions/transpose
531
+ */
532
+ static transpose(values: Readonly<Record<string, readonly TfString[]>>): TokenValue<Record<string, string[]>>;
533
+ /**
534
+ * `trim` removes the specified set of characters from the start and end of the given string.
535
+ * @see https://developer.hashicorp.com/terraform/language/functions/trim
536
+ */
537
+ static trim(str: TfString, cutset: TfString): TokenValue<string>;
538
+ /**
539
+ * `trimprefix` removes the specified prefix from the start of the given string. If the string does not start with the prefix, the string is returned unchanged.
540
+ * @see https://developer.hashicorp.com/terraform/language/functions/trimprefix
541
+ */
542
+ static trimprefix(str: TfString, prefix: TfString): TokenValue<string>;
543
+ /**
544
+ * `trimspace` removes any space characters from the start and end of the given string.
545
+ * @see https://developer.hashicorp.com/terraform/language/functions/trimspace
546
+ */
547
+ static trimspace(str: TfString): TokenValue<string>;
548
+ /**
549
+ * `trimsuffix` removes the specified suffix from the end of the given string.
550
+ * @see https://developer.hashicorp.com/terraform/language/functions/trimsuffix
551
+ */
552
+ static trimsuffix(str: TfString, suffix: TfString): TokenValue<string>;
553
+ /**
554
+ * `try` evaluates all of its argument expressions in turn and returns the result of the first one that does not produce any errors.
555
+ * @see https://developer.hashicorp.com/terraform/language/functions/try
556
+ */
557
+ static try(...expressions: TerraformValue[]): TokenValue<unknown>;
558
+ /**
559
+ * `upper` converts all cased letters in the given string to uppercase.
560
+ * @see https://developer.hashicorp.com/terraform/language/functions/upper
561
+ */
562
+ static upper(str: TfString): TokenValue<string>;
563
+ /**
564
+ * `urlencode` applies URL encoding to a given string.
565
+ * @see https://developer.hashicorp.com/terraform/language/functions/urlencode
566
+ */
567
+ static urlencode(str: TfString): TokenValue<string>;
568
+ /**
569
+ * `uuid` generates a unique identifier string.
570
+ * @see https://developer.hashicorp.com/terraform/language/functions/uuid
571
+ */
572
+ static uuid(): TokenValue<string>;
573
+ /**
574
+ * `uuidv5` generates a _name-based_ UUID, as described in [RFC 4122 section 4.3](https://tools.ietf.org/html/rfc4122#section-4.3), also known as a "version 5" UUID.
575
+ * @see https://developer.hashicorp.com/terraform/language/functions/uuidv5
576
+ */
577
+ static uuidv5(namespace: TfString, name: TfString): TokenValue<string>;
578
+ /**
579
+ * `values` takes a map and returns a list containing the values of the elements in that map.
580
+ * @see https://developer.hashicorp.com/terraform/language/functions/values
581
+ */
582
+ static values(mapping: TerraformValue): TokenValue<unknown>;
583
+ /**
584
+ * `yamldecode` parses a string as a subset of YAML, and produces a representation of its value.
585
+ * @see https://developer.hashicorp.com/terraform/language/functions/yamldecode
586
+ */
587
+ static yamldecode(src: TfString): TokenValue<unknown>;
588
+ /**
589
+ * `yamlencode` encodes a given value to a string using [YAML 1.2](https://yaml.org/spec/1.2/spec.html) block syntax.
590
+ * @see https://developer.hashicorp.com/terraform/language/functions/yamlencode
591
+ */
592
+ static yamlencode(value: TerraformValue): TokenValue<string>;
593
+ /**
594
+ * `zipmap` constructs a map from a list of keys and a corresponding list of values.
595
+ * @see https://developer.hashicorp.com/terraform/language/functions/zipmap
596
+ */
597
+ static zipmap(keys: readonly TfString[], values: TerraformValue): TokenValue<unknown>;
598
+ }
599
+ //# sourceMappingURL=fn.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fn.d.ts","sourceRoot":"","sources":["../../../src/generated/fn.ts"],"names":[],"mappings":"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"}