@cloudyskysoftware/pulumi-fly-machines 0.0.18 → 0.0.19

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 (262) hide show
  1. package/apps/v1/app.d.ts +34 -0
  2. package/apps/v1/app.d.ts.map +1 -1
  3. package/apps/v1/app.js +9 -0
  4. package/apps/v1/app.js.map +1 -1
  5. package/apps/v1/appCertificatesAcme.d.ts +44 -2
  6. package/apps/v1/appCertificatesAcme.d.ts.map +1 -1
  7. package/apps/v1/appCertificatesAcme.js +9 -0
  8. package/apps/v1/appCertificatesAcme.js.map +1 -1
  9. package/apps/v1/appCertificatesCheck.d.ts +40 -2
  10. package/apps/v1/appCertificatesCheck.d.ts.map +1 -1
  11. package/apps/v1/appCertificatesCheck.js +9 -0
  12. package/apps/v1/appCertificatesCheck.js.map +1 -1
  13. package/apps/v1/appCertificatesCustom.d.ts +55 -2
  14. package/apps/v1/appCertificatesCustom.d.ts.map +1 -1
  15. package/apps/v1/appCertificatesCustom.js +9 -0
  16. package/apps/v1/appCertificatesCustom.js.map +1 -1
  17. package/apps/v1/appDeployToken.d.ts +20 -0
  18. package/apps/v1/appDeployToken.d.ts.map +1 -1
  19. package/apps/v1/appDeployToken.js +9 -0
  20. package/apps/v1/appDeployToken.js.map +1 -1
  21. package/apps/v1/appIPAssignment.d.ts +51 -3
  22. package/apps/v1/appIPAssignment.d.ts.map +1 -1
  23. package/apps/v1/appIPAssignment.js +9 -0
  24. package/apps/v1/appIPAssignment.js.map +1 -1
  25. package/apps/v1/getApp.d.ts +34 -2
  26. package/apps/v1/getApp.d.ts.map +1 -1
  27. package/apps/v1/getApp.js.map +1 -1
  28. package/apps/v1/getAppCertificate.d.ts +33 -2
  29. package/apps/v1/getAppCertificate.d.ts.map +1 -1
  30. package/apps/v1/getAppCertificate.js.map +1 -1
  31. package/apps/v1/getMachine.d.ts +76 -10
  32. package/apps/v1/getMachine.d.ts.map +1 -1
  33. package/apps/v1/getMachine.js.map +1 -1
  34. package/apps/v1/getMachinesLease.d.ts +6 -16
  35. package/apps/v1/getMachinesLease.d.ts.map +1 -1
  36. package/apps/v1/getMachinesLease.js.map +1 -1
  37. package/apps/v1/getMachinesMemory.d.ts +8 -0
  38. package/apps/v1/getMachinesMemory.d.ts.map +1 -1
  39. package/apps/v1/getMachinesMemory.js.map +1 -1
  40. package/apps/v1/getMachinesMetadataKey.d.ts +3 -0
  41. package/apps/v1/getMachinesMetadataKey.d.ts.map +1 -1
  42. package/apps/v1/getMachinesMetadataKey.js.map +1 -1
  43. package/apps/v1/getMachinesWait.d.ts +13 -0
  44. package/apps/v1/getMachinesWait.d.ts.map +1 -1
  45. package/apps/v1/getMachinesWait.js.map +1 -1
  46. package/apps/v1/getSecret.d.ts +16 -0
  47. package/apps/v1/getSecret.d.ts.map +1 -1
  48. package/apps/v1/getSecret.js.map +1 -1
  49. package/apps/v1/getSecretkey.d.ts +16 -1
  50. package/apps/v1/getSecretkey.d.ts.map +1 -1
  51. package/apps/v1/getSecretkey.js.map +1 -1
  52. package/apps/v1/getVolume.d.ts +85 -0
  53. package/apps/v1/getVolume.d.ts.map +1 -1
  54. package/apps/v1/getVolume.js.map +1 -1
  55. package/apps/v1/listAppCertificates.d.ts +9 -0
  56. package/apps/v1/listAppCertificates.d.ts.map +1 -1
  57. package/apps/v1/listAppCertificates.js.map +1 -1
  58. package/apps/v1/listAppIPAssignments.d.ts +3 -0
  59. package/apps/v1/listAppIPAssignments.d.ts.map +1 -1
  60. package/apps/v1/listAppIPAssignments.js.map +1 -1
  61. package/apps/v1/listApps.d.ts +7 -6
  62. package/apps/v1/listApps.d.ts.map +1 -1
  63. package/apps/v1/listApps.js.map +1 -1
  64. package/apps/v1/listSecretkeys.d.ts +3 -0
  65. package/apps/v1/listSecretkeys.d.ts.map +1 -1
  66. package/apps/v1/listSecretkeys.js.map +1 -1
  67. package/apps/v1/listSecrets.d.ts +3 -0
  68. package/apps/v1/listSecrets.d.ts.map +1 -1
  69. package/apps/v1/listSecrets.js.map +1 -1
  70. package/apps/v1/machine.d.ts +122 -12
  71. package/apps/v1/machine.d.ts.map +1 -1
  72. package/apps/v1/machine.js +9 -0
  73. package/apps/v1/machine.js.map +1 -1
  74. package/apps/v1/machinesCordon.d.ts +10 -0
  75. package/apps/v1/machinesCordon.d.ts.map +1 -1
  76. package/apps/v1/machinesCordon.js +9 -0
  77. package/apps/v1/machinesCordon.js.map +1 -1
  78. package/apps/v1/machinesExec.d.ts +57 -6
  79. package/apps/v1/machinesExec.d.ts.map +1 -1
  80. package/apps/v1/machinesExec.js +9 -0
  81. package/apps/v1/machinesExec.js.map +1 -1
  82. package/apps/v1/machinesLease.d.ts +20 -17
  83. package/apps/v1/machinesLease.d.ts.map +1 -1
  84. package/apps/v1/machinesLease.js +13 -8
  85. package/apps/v1/machinesLease.js.map +1 -1
  86. package/apps/v1/machinesMemoryLimit.d.ts +19 -0
  87. package/apps/v1/machinesMemoryLimit.d.ts.map +1 -1
  88. package/apps/v1/machinesMemoryLimit.js +9 -0
  89. package/apps/v1/machinesMemoryLimit.js.map +1 -1
  90. package/apps/v1/machinesMetadata.d.ts +21 -0
  91. package/apps/v1/machinesMetadata.d.ts.map +1 -1
  92. package/apps/v1/machinesMetadata.js +9 -0
  93. package/apps/v1/machinesMetadata.js.map +1 -1
  94. package/apps/v1/machinesMetadataKey.d.ts +19 -0
  95. package/apps/v1/machinesMetadataKey.d.ts.map +1 -1
  96. package/apps/v1/machinesMetadataKey.js +9 -0
  97. package/apps/v1/machinesMetadataKey.js.map +1 -1
  98. package/apps/v1/machinesReclaimMemory.d.ts +18 -0
  99. package/apps/v1/machinesReclaimMemory.d.ts.map +1 -1
  100. package/apps/v1/machinesReclaimMemory.js +9 -0
  101. package/apps/v1/machinesReclaimMemory.js.map +1 -1
  102. package/apps/v1/machinesRestart.d.ts +10 -0
  103. package/apps/v1/machinesRestart.d.ts.map +1 -1
  104. package/apps/v1/machinesRestart.js +9 -0
  105. package/apps/v1/machinesRestart.js.map +1 -1
  106. package/apps/v1/machinesSignal.d.ts +16 -0
  107. package/apps/v1/machinesSignal.d.ts.map +1 -1
  108. package/apps/v1/machinesSignal.js +9 -0
  109. package/apps/v1/machinesSignal.js.map +1 -1
  110. package/apps/v1/machinesStart.d.ts +7 -0
  111. package/apps/v1/machinesStart.d.ts.map +1 -1
  112. package/apps/v1/machinesStart.js +9 -0
  113. package/apps/v1/machinesStart.js.map +1 -1
  114. package/apps/v1/machinesStop.d.ts +26 -0
  115. package/apps/v1/machinesStop.d.ts.map +1 -1
  116. package/apps/v1/machinesStop.js +9 -0
  117. package/apps/v1/machinesStop.js.map +1 -1
  118. package/apps/v1/machinesSuspend.d.ts +10 -0
  119. package/apps/v1/machinesSuspend.d.ts.map +1 -1
  120. package/apps/v1/machinesSuspend.js +9 -0
  121. package/apps/v1/machinesSuspend.js.map +1 -1
  122. package/apps/v1/machinesUncordon.d.ts +10 -0
  123. package/apps/v1/machinesUncordon.d.ts.map +1 -1
  124. package/apps/v1/machinesUncordon.js +9 -0
  125. package/apps/v1/machinesUncordon.js.map +1 -1
  126. package/apps/v1/secret.d.ts +26 -0
  127. package/apps/v1/secret.d.ts.map +1 -1
  128. package/apps/v1/secret.js +9 -0
  129. package/apps/v1/secret.js.map +1 -1
  130. package/apps/v1/secretkey.d.ts +38 -3
  131. package/apps/v1/secretkey.d.ts.map +1 -1
  132. package/apps/v1/secretkey.js +9 -0
  133. package/apps/v1/secretkey.js.map +1 -1
  134. package/apps/v1/secretkeyDecrypt.d.ts +27 -5
  135. package/apps/v1/secretkeyDecrypt.d.ts.map +1 -1
  136. package/apps/v1/secretkeyDecrypt.js +9 -0
  137. package/apps/v1/secretkeyDecrypt.js.map +1 -1
  138. package/apps/v1/secretkeyEncrypt.d.ts +29 -5
  139. package/apps/v1/secretkeyEncrypt.d.ts.map +1 -1
  140. package/apps/v1/secretkeyEncrypt.js +9 -0
  141. package/apps/v1/secretkeyEncrypt.js.map +1 -1
  142. package/apps/v1/secretkeyGenerate.d.ts +38 -3
  143. package/apps/v1/secretkeyGenerate.d.ts.map +1 -1
  144. package/apps/v1/secretkeyGenerate.js +9 -0
  145. package/apps/v1/secretkeyGenerate.js.map +1 -1
  146. package/apps/v1/secretkeySign.d.ts +19 -3
  147. package/apps/v1/secretkeySign.d.ts.map +1 -1
  148. package/apps/v1/secretkeySign.js +9 -0
  149. package/apps/v1/secretkeySign.js.map +1 -1
  150. package/apps/v1/secretkeyVerify.d.ts +23 -4
  151. package/apps/v1/secretkeyVerify.d.ts.map +1 -1
  152. package/apps/v1/secretkeyVerify.js +9 -0
  153. package/apps/v1/secretkeyVerify.js.map +1 -1
  154. package/apps/v1/secrets.d.ts +11 -0
  155. package/apps/v1/secrets.d.ts.map +1 -1
  156. package/apps/v1/secrets.js +9 -0
  157. package/apps/v1/secrets.js.map +1 -1
  158. package/apps/v1/volume.d.ts +158 -8
  159. package/apps/v1/volume.d.ts.map +1 -1
  160. package/apps/v1/volume.js +9 -0
  161. package/apps/v1/volume.js.map +1 -1
  162. package/apps/v1/volumeSnapshot.d.ts +7 -0
  163. package/apps/v1/volumeSnapshot.d.ts.map +1 -1
  164. package/apps/v1/volumeSnapshot.js +9 -0
  165. package/apps/v1/volumeSnapshot.js.map +1 -1
  166. package/apps/v1/volumesExtend.d.ts +23 -1
  167. package/apps/v1/volumesExtend.d.ts.map +1 -1
  168. package/apps/v1/volumesExtend.js +9 -0
  169. package/apps/v1/volumesExtend.js.map +1 -1
  170. package/orgs/v1/listMachinesOrg.d.ts +16 -0
  171. package/orgs/v1/listMachinesOrg.d.ts.map +1 -1
  172. package/orgs/v1/listMachinesOrg.js.map +1 -1
  173. package/orgs/v1/listVolumesOrg.d.ts +12 -0
  174. package/orgs/v1/listVolumesOrg.d.ts.map +1 -1
  175. package/orgs/v1/listVolumesOrg.js.map +1 -1
  176. package/package.json +2 -2
  177. package/platform/v1/getPlatformRegion.d.ts +8 -1
  178. package/platform/v1/getPlatformRegion.d.ts.map +1 -1
  179. package/platform/v1/getPlatformRegion.js.map +1 -1
  180. package/platform/v1/platformPlacement.d.ts +36 -3
  181. package/platform/v1/platformPlacement.d.ts.map +1 -1
  182. package/platform/v1/platformPlacement.js +11 -2
  183. package/platform/v1/platformPlacement.js.map +1 -1
  184. package/postgres/v1/index.d.ts +3 -0
  185. package/postgres/v1/index.d.ts.map +1 -1
  186. package/postgres/v1/index.js +5 -1
  187. package/postgres/v1/index.js.map +1 -1
  188. package/postgres/v1/postgres.d.ts +7 -0
  189. package/postgres/v1/postgres.d.ts.map +1 -1
  190. package/postgres/v1/postgres.js +9 -0
  191. package/postgres/v1/postgres.js.map +1 -1
  192. package/postgres/v1/postgresAttachment.d.ts +7 -0
  193. package/postgres/v1/postgresAttachment.d.ts.map +1 -1
  194. package/postgres/v1/postgresAttachment.js +9 -0
  195. package/postgres/v1/postgresAttachment.js.map +1 -1
  196. package/postgres/v1/postgresBackup.d.ts +7 -0
  197. package/postgres/v1/postgresBackup.d.ts.map +1 -1
  198. package/postgres/v1/postgresBackup.js +9 -0
  199. package/postgres/v1/postgresBackup.js.map +1 -1
  200. package/postgres/v1/postgresDatabase.d.ts +7 -0
  201. package/postgres/v1/postgresDatabase.d.ts.map +1 -1
  202. package/postgres/v1/postgresDatabase.js +9 -0
  203. package/postgres/v1/postgresDatabase.js.map +1 -1
  204. package/postgres/v1/postgresDatabasesQuery.d.ts +76 -0
  205. package/postgres/v1/postgresDatabasesQuery.d.ts.map +1 -0
  206. package/postgres/v1/postgresDatabasesQuery.js +98 -0
  207. package/postgres/v1/postgresDatabasesQuery.js.map +1 -0
  208. package/postgres/v1/postgresExtension.d.ts +7 -0
  209. package/postgres/v1/postgresExtension.d.ts.map +1 -1
  210. package/postgres/v1/postgresExtension.js +9 -0
  211. package/postgres/v1/postgresExtension.js.map +1 -1
  212. package/postgres/v1/postgresFork.d.ts +7 -0
  213. package/postgres/v1/postgresFork.d.ts.map +1 -1
  214. package/postgres/v1/postgresFork.js +9 -0
  215. package/postgres/v1/postgresFork.js.map +1 -1
  216. package/postgres/v1/postgresRestore.d.ts +7 -0
  217. package/postgres/v1/postgresRestore.d.ts.map +1 -1
  218. package/postgres/v1/postgresRestore.js +9 -0
  219. package/postgres/v1/postgresRestore.js.map +1 -1
  220. package/postgres/v1/postgresUser.d.ts +7 -0
  221. package/postgres/v1/postgresUser.d.ts.map +1 -1
  222. package/postgres/v1/postgresUser.js +9 -0
  223. package/postgres/v1/postgresUser.js.map +1 -1
  224. package/postgres/v1/postgresUsersRotatePassword.d.ts +7 -0
  225. package/postgres/v1/postgresUsersRotatePassword.d.ts.map +1 -1
  226. package/postgres/v1/postgresUsersRotatePassword.js +9 -0
  227. package/postgres/v1/postgresUsersRotatePassword.js.map +1 -1
  228. package/tokens/v1/getCurrentToken.d.ts +5 -0
  229. package/tokens/v1/getCurrentToken.d.ts.map +1 -1
  230. package/tokens/v1/getCurrentToken.js.map +1 -1
  231. package/tokens/v1/tokensAuthenticate.d.ts +13 -0
  232. package/tokens/v1/tokensAuthenticate.d.ts.map +1 -1
  233. package/tokens/v1/tokensAuthenticate.js +9 -0
  234. package/tokens/v1/tokensAuthenticate.js.map +1 -1
  235. package/tokens/v1/tokensAuthorize.d.ts +25 -3
  236. package/tokens/v1/tokensAuthorize.d.ts.map +1 -1
  237. package/tokens/v1/tokensAuthorize.js +9 -0
  238. package/tokens/v1/tokensAuthorize.js.map +1 -1
  239. package/tokens/v1/tokensRequestKm.d.ts +7 -0
  240. package/tokens/v1/tokensRequestKm.d.ts.map +1 -1
  241. package/tokens/v1/tokensRequestKm.js +9 -0
  242. package/tokens/v1/tokensRequestKm.js.map +1 -1
  243. package/tokens/v1/tokensRequestOidc.d.ts +21 -0
  244. package/tokens/v1/tokensRequestOidc.d.ts.map +1 -1
  245. package/tokens/v1/tokensRequestOidc.js +9 -0
  246. package/tokens/v1/tokensRequestOidc.js.map +1 -1
  247. package/types/enums/apps/v1/index.d.ts +106 -1
  248. package/types/enums/apps/v1/index.d.ts.map +1 -1
  249. package/types/enums/apps/v1/index.js +32 -1
  250. package/types/enums/apps/v1/index.js.map +1 -1
  251. package/types/enums/orgs/v1/index.d.ts +8 -0
  252. package/types/enums/orgs/v1/index.d.ts.map +1 -1
  253. package/types/enums/orgs/v1/index.js.map +1 -1
  254. package/types/enums/platform/v1/index.d.ts +11 -0
  255. package/types/enums/platform/v1/index.d.ts.map +1 -1
  256. package/types/enums/platform/v1/index.js +8 -1
  257. package/types/enums/platform/v1/index.js.map +1 -1
  258. package/types/input.d.ts +582 -195
  259. package/types/input.d.ts.map +1 -1
  260. package/types/input.js.map +1 -1
  261. package/types/output.d.ts +2591 -679
  262. package/types/output.d.ts.map +1 -1
package/types/output.d.ts CHANGED
@@ -2,19 +2,46 @@ import * as outputs from "../types/output";
2
2
  import * as enums from "../types/enums";
3
3
  export declare namespace apps {
4
4
  namespace v1 {
5
- interface AcmeChallenge {
6
- name?: string;
7
- target?: string;
8
- }
9
5
  interface App {
6
+ /**
7
+ * Unique ID of the app, as used by Fly.io's GraphQL API.
8
+ */
10
9
  id?: string;
10
+ /**
11
+ * Fly.io's internal numeric ID of the app.
12
+ */
11
13
  internalNumericId?: number;
14
+ /**
15
+ * Number of the app's Machines that have not been destroyed.
16
+ */
12
17
  machineCount?: number;
18
+ /**
19
+ * Globally unique name of the app.
20
+ */
13
21
  name?: string;
22
+ /**
23
+ * Name of the private network the app is attached to: `default` for the organization's
24
+ * default network, or the name given when the app was created.
25
+ */
14
26
  network?: string;
27
+ /**
28
+ * The /48 IPv6 prefix of the private (6PN) network the app is attached to, such as
29
+ * `fdaa:0:1234::/48`. Apps on the same network share it.
30
+ */
15
31
  networkCidr?: string;
16
- organization?: outputs.apps.v1.AppOrganizationInfo;
17
- status?: string;
32
+ /**
33
+ * The organization that owns the app.
34
+ */
35
+ organization?: outputs.apps.v1.AppOrganization;
36
+ /**
37
+ * State of the app. `pending` until one of its Machines changes state. After that, updated
38
+ * asynchronously whenever a Machine changes state: `deployed` if at least one Machine is
39
+ * started, and `suspended` otherwise.
40
+ */
41
+ status?: enums.apps.v1.AppStatus;
42
+ /**
43
+ * Number of the app's volumes that have not been destroyed or scheduled for destruction.
44
+ */
18
45
  volumeCount?: number;
19
46
  }
20
47
  /**
@@ -184,9 +211,21 @@ export declare namespace apps {
184
211
  */
185
212
  delete?: outputs.apps.v1.AppIPAssignmentDeleteQueryParams;
186
213
  }
187
- interface AppOrganizationInfo {
214
+ /**
215
+ * The organization that owns the app.
216
+ */
217
+ interface AppOrganization {
218
+ /**
219
+ * Fly.io's internal numeric ID of the organization.
220
+ */
188
221
  internalNumericId?: number;
222
+ /**
223
+ * Display name of the organization.
224
+ */
189
225
  name?: string;
226
+ /**
227
+ * Slug of the organization, used to refer to it in API requests such as `org_slug`.
228
+ */
190
229
  slug?: string;
191
230
  }
192
231
  /**
@@ -218,337 +257,300 @@ export declare namespace apps {
218
257
  };
219
258
  }
220
259
  interface AppSecret {
260
+ /**
261
+ * When the secret was first set. Only returned when reading secrets.
262
+ */
221
263
  createdAt?: string;
264
+ /**
265
+ * Short fingerprint of the value, to tell whether it changed without revealing it. Omitted
266
+ * for deleted secrets.
267
+ */
222
268
  digest?: string;
269
+ /**
270
+ * Name of the secret.
271
+ */
223
272
  name?: string;
273
+ /**
274
+ * When the secret's value last changed. Only returned when reading secrets.
275
+ */
224
276
  updatedAt?: string;
277
+ /**
278
+ * Value of the secret. Only returned with `show_secrets=true`, and when setting secrets.
279
+ */
225
280
  value?: string;
226
281
  }
282
+ /**
283
+ * DNS records to create to point the hostname at the app and validate it.
284
+ */
285
+ interface CertificateDetailDnsRequirements {
286
+ /**
287
+ * IPv4 addresses the hostname's A records can point to: the app's global IPv4 addresses
288
+ * and its shared IPv4 address.
289
+ */
290
+ a?: string[];
291
+ /**
292
+ * IPv6 addresses the hostname's AAAA records can point to: the app's global IPv6
293
+ * addresses.
294
+ */
295
+ aaaa?: string[];
296
+ /**
297
+ * Record for DNS-01 validation.
298
+ */
299
+ acmeChallenge?: outputs.apps.v1.DNSRequirementsAcmeChallenge;
300
+ /**
301
+ * Target the hostname can CNAME to instead of using A and AAAA records.
302
+ */
303
+ cname?: string;
304
+ /**
305
+ * Record for proving ownership of the hostname.
306
+ */
307
+ ownership?: outputs.apps.v1.DNSRequirementsOwnership;
308
+ }
309
+ /**
310
+ * Which validation methods are currently possible.
311
+ */
312
+ interface CertificateDetailValidation {
313
+ /**
314
+ * Whether the hostname points at the app, allowing TLS-ALPN-01 validation.
315
+ */
316
+ alpnConfigured?: boolean;
317
+ /**
318
+ * Whether the `_acme-challenge` CNAME record is set up, allowing DNS-01 validation.
319
+ */
320
+ dnsConfigured?: boolean;
321
+ /**
322
+ * Whether the hostname points at the app, allowing HTTP-01 validation.
323
+ */
324
+ httpConfigured?: boolean;
325
+ /**
326
+ * Whether the `_fly-ownership` TXT record is set up.
327
+ */
328
+ ownershipTxtConfigured?: boolean;
329
+ }
227
330
  interface CertificateEntry {
331
+ /**
332
+ * When the certificate was added; for Fly.io-issued certificates, the earliest one.
333
+ */
228
334
  createdAt?: string;
335
+ /**
336
+ * When the certificate expires; for Fly.io-issued certificates, the latest one.
337
+ */
229
338
  expiresAt?: string;
339
+ /**
340
+ * The individual Fly.io-issued certificates, newest first. Empty for custom certificates.
341
+ */
230
342
  issued?: outputs.apps.v1.IssuedCertificate[];
343
+ /**
344
+ * Issuer of a custom certificate. Omitted for Fly.io-issued certificates.
345
+ */
231
346
  issuer?: string;
347
+ /**
348
+ * `custom` for an uploaded certificate, `fly` for certificates issued by Fly.io.
349
+ */
232
350
  source?: enums.apps.v1.CertificateEntrySource;
351
+ /**
352
+ * `active` once ownership of the hostname is verified. Until then, `pending_ownership` for
353
+ * custom certificates and `pending_validation` for Fly.io-issued certificates.
354
+ */
233
355
  status?: enums.apps.v1.CertificateEntryStatus;
234
356
  }
235
357
  interface CertificateSummary {
358
+ /**
359
+ * Whether the hostname points at the app, allowing TLS-ALPN-01 validation.
360
+ */
236
361
  acmeAlpnConfigured?: boolean;
362
+ /**
363
+ * Whether the `_acme-challenge` CNAME record is set up, allowing DNS-01 validation.
364
+ */
237
365
  acmeDnsConfigured?: boolean;
366
+ /**
367
+ * Whether the hostname points at the app, allowing HTTP-01 validation.
368
+ */
238
369
  acmeHttpConfigured?: boolean;
370
+ /**
371
+ * Whether Fly.io-issued (ACME) certificates were requested for the hostname.
372
+ */
239
373
  acmeRequested?: boolean;
374
+ /**
375
+ * Whether ownership of the hostname has been verified by any of the methods above.
376
+ */
240
377
  configured?: boolean;
378
+ /**
379
+ * When the hostname was added to the app.
380
+ */
241
381
  createdAt?: string;
382
+ /**
383
+ * DNS provider detected for the hostname, if known.
384
+ */
242
385
  dnsProvider?: string;
386
+ /**
387
+ * Whether a custom certificate was uploaded for the hostname.
388
+ */
243
389
  hasCustomCertificate?: boolean;
390
+ /**
391
+ * Whether Fly.io has issued certificates for the hostname.
392
+ */
244
393
  hasFlyCertificate?: boolean;
394
+ /**
395
+ * The hostname the certificate is for. May start with `*.` for a wildcard certificate.
396
+ */
245
397
  hostname?: string;
398
+ /**
399
+ * Whether the `_fly-ownership` TXT record is set up.
400
+ */
246
401
  ownershipTxtConfigured?: boolean;
402
+ /**
403
+ * Human-readable status: `Ready`, `Awaiting certificates`, `Awaiting configuration`, or a
404
+ * hint about what is misconfigured.
405
+ */
247
406
  status?: string;
407
+ /**
408
+ * When the hostname's certificate configuration last changed.
409
+ */
248
410
  updatedAt?: string;
249
411
  }
250
- interface CertificateValidation {
251
- alpnConfigured?: boolean;
252
- dnsConfigured?: boolean;
253
- httpConfigured?: boolean;
254
- ownershipTxtConfigured?: boolean;
255
- }
256
412
  interface CertificateValidationError {
413
+ /**
414
+ * Machine-readable error code.
415
+ */
257
416
  code?: string;
417
+ /**
418
+ * Human-readable description of the problem.
419
+ */
258
420
  message?: string;
421
+ /**
422
+ * How to fix the problem, if known.
423
+ */
259
424
  remediation?: string;
425
+ /**
426
+ * When the problem was detected.
427
+ */
260
428
  timestamp?: string;
261
429
  }
262
430
  interface CheckStatus {
263
- name?: string;
264
- output?: string;
265
- status?: string;
266
- updatedAt?: string;
267
- }
268
- interface DNSRecords {
269
- a?: string[];
270
- aaaa?: string[];
271
- acmeChallengeCname?: string;
272
- cname?: string[];
273
- ownershipTxt?: string;
274
- resolvedAddresses?: string[];
275
- soa?: string;
276
- }
277
- interface DNSRequirements {
278
- a?: string[];
279
- aaaa?: string[];
280
- acmeChallenge?: outputs.apps.v1.AcmeChallenge;
281
- cname?: string;
282
- ownership?: outputs.apps.v1.OwnershipVerification;
283
- }
284
- interface FlyContainerConfig {
285
431
  /**
286
- * CmdOverride is used to override the default command of the image.
432
+ * Name of the check: the key of a top-level check in `config.checks`, or
433
+ * `servicecheck-<index>-<type>-<internal_port>` for a check defined in a service.
287
434
  */
288
- cmd?: string[];
435
+ name?: string;
289
436
  /**
290
- * DependsOn can be used to define dependencies between containers. The container will only be
291
- * started after all of its dependent conditions have been satisfied.
437
+ * Output of the most recent check run, such as an error message.
292
438
  */
293
- dependsOn?: outputs.apps.v1.FlyContainerDependency[];
439
+ output?: string;
294
440
  /**
295
- * EntrypointOverride is used to override the default entrypoint of the image.
441
+ * Result of the check: `passing`, `warning`, or `critical`.
296
442
  */
297
- entrypoint?: string[];
443
+ status?: enums.apps.v1.CheckStatusStatus;
298
444
  /**
299
- * ExtraEnv is used to add additional environment variables to the container.
445
+ * When the check's status was last updated.
300
446
  */
301
- env?: {
302
- [key: string]: string;
303
- };
447
+ updatedAt?: string;
448
+ }
449
+ /**
450
+ * Requirements of the Machine that will use the volume, so that the volume is placed on a
451
+ * host that can run it. Uses `cpus`, `memory_mb`, `cpu_kind`, `host_dedication_id`, and
452
+ * `required_host_features`.
453
+ */
454
+ interface Compute {
304
455
  /**
305
- * EnvFrom can be provided to set environment variables from machine fields.
456
+ * Kind of CPU: shared or performance. Performance CPUs must be enabled for the organization.
457
+ * Defaults to shared when `guest` is omitted
306
458
  */
307
- envFrom?: outputs.apps.v1.FlyEnvFrom[];
459
+ cpuKind?: string;
308
460
  /**
309
- * Image Config overrides - these fields are used to override the image configuration.
310
- * If not provided, the image configuration will be used.
311
- * ExecOverride is used to override the default command of the image.
461
+ * Number of CPUs: 1, 2, 4, 6, 8, 10, 12, 14, 16, 32, 64 or 128, up to 8 for shared and 16 for
462
+ * performance CPUs unless the organization's limit is higher. Defaults to 1 when `guest` is
463
+ * omitted
312
464
  */
313
- exec?: string[];
465
+ cpus?: number;
314
466
  /**
315
- * Files are files that will be written to the container file system.
467
+ * No longer supported. Requests that set it are rejected
316
468
  */
317
- files?: outputs.apps.v1.FlyFile[];
469
+ gpuKind?: string;
318
470
  /**
319
- * Healthchecks determine the health of your containers. Healthchecks can use HTTP, TCP or an Exec command.
471
+ * No longer supported. Requests that set it are rejected
320
472
  */
321
- healthchecks?: outputs.apps.v1.FlyContainerHealthcheck[];
473
+ gpus?: number;
322
474
  /**
323
- * Image is the docker image to run.
475
+ * Place the Machine on hosts dedicated to the organization under this ID. Only available to
476
+ * organizations with dedicated hosts
324
477
  */
325
- image?: string;
478
+ hostDedicationId?: string;
326
479
  /**
327
- * Name is used to identify the container in the machine.
480
+ * Extra arguments appended to the guest kernel command line
328
481
  */
329
- name?: string;
482
+ kernelArgs?: string[];
330
483
  /**
331
- * Restart is used to define the restart policy for the container.
484
+ * Memory in MiB that the Machine's memory limit can later be raised to without a restart, using
485
+ * the memory endpoints. Must be at least memory_mb and at most the per-CPU maximum. The Machine
486
+ * starts with a limit of memory_mb
332
487
  */
333
- restart?: outputs.apps.v1.FlyContainerConfigRestart;
488
+ maxMemoryMb?: number;
334
489
  /**
335
- * Secrets can be provided at the process level to explicitly indicate which secrets should be
336
- * used for the process. If not provided, the secrets provided at the machine level will be used.
490
+ * Memory in MiB. Must be a multiple of 256 for shared and 1024 for performance CPUs, and
491
+ * between 256 and 2048 (shared) or 2048 and 8192 (performance) per CPU. Defaults to 256 when
492
+ * `guest` is omitted
337
493
  */
338
- secrets?: outputs.apps.v1.FlyMachineSecret[];
494
+ memoryMb?: number;
339
495
  /**
340
- * Stop is used to define the signal and timeout for stopping the container.
496
+ * Deprecated: use MachineConfig.Rootfs instead
341
497
  */
342
- stop?: outputs.apps.v1.FlyContainerConfigStop;
498
+ persistRootfs?: enums.apps.v1.FlyMachineGuestPersistRootfs;
343
499
  /**
344
- * UserOverride is used to override the default user of the image.
500
+ * Host features the Machine's host must have, such as `storage-tier-1`. At most 16, each made
501
+ * of lowercase letters, digits and dashes. Each feature must be enabled for the organization
345
502
  */
346
- user?: string;
503
+ requiredHostFeatures?: string[];
347
504
  }
348
505
  /**
349
- * Restart is used to define the restart policy for the container.
506
+ * The Machine's configuration, as provided when it was created or last updated, with
507
+ * `metadata` and `mounts` reflecting their current values. Null when the host is not
508
+ * reachable (`host_status` is not `ok`) or `summary=true` was requested; see
509
+ * `incomplete_config`.
350
510
  */
351
- interface FlyContainerConfigRestart {
511
+ interface Config {
352
512
  /**
353
- * When policy is on-failure, the maximum number of times to attempt to restart the Machine before letting it stop.
513
+ * Optional boolean telling the Machine to destroy itself once it’s complete (default false)
354
514
  */
355
- maxRetries?: number;
515
+ autoDestroy?: boolean;
356
516
  /**
357
- * * no - Never try to restart a Machine automatically when its main process exits, whether that’s on purpose or on a crash.
358
- * * always - Always restart a Machine automatically and never let it enter a stopped state, even when the main process exits cleanly.
359
- * * on-failure - Try up to MaxRetries times to automatically restart the Machine if it exits with a non-zero exit code. Default when no explicit policy is set, and for Machines with schedules.
517
+ * Beta: a cache drive attached to the Machine. This field may be removed in the future
360
518
  */
361
- policy?: enums.apps.v1.FlyMachineRestartPolicy;
362
- }
363
- /**
364
- * Stop is used to define the signal and timeout for stopping the container.
365
- */
366
- interface FlyContainerConfigStop {
367
- signal?: enums.apps.v1.FlyStopConfigSignal;
368
- timeout?: string;
369
- }
370
- interface FlyContainerDependency {
371
- condition?: enums.apps.v1.FlyContainerDependencyCondition;
372
- name?: string;
373
- }
374
- interface FlyContainerHealthcheck {
375
- exec?: outputs.apps.v1.FlyExecHealthcheck;
519
+ cacheDrive?: outputs.apps.v1.FlyMachineConfigCacheDrive;
376
520
  /**
377
- * The number of times the check must fail before considering the container unhealthy.
521
+ * An optional object that defines one or more named top-level checks. The key for each check is the check name.
378
522
  */
379
- failureThreshold?: number;
523
+ checks?: {
524
+ [key: string]: outputs.apps.v1.FlyMachineConfigChecksProperties;
525
+ };
380
526
  /**
381
- * The time in seconds to wait after a container starts before checking its health.
527
+ * Containers are a list of containers that will run in the machine, each from its own image.
382
528
  */
383
- gracePeriod?: number;
384
- http?: outputs.apps.v1.FlyHTTPHealthcheck;
529
+ containers?: outputs.apps.v1.FlyContainerConfig[];
385
530
  /**
386
- * The time in seconds between executing the defined check.
531
+ * Deprecated: use Service.Autostart instead
387
532
  */
388
- interval?: number;
533
+ disableMachineAutostart?: boolean;
389
534
  /**
390
- * Kind of healthcheck (readiness, liveness)
535
+ * DNS settings for the Machine
391
536
  */
392
- kind?: enums.apps.v1.FlyContainerHealthcheckKind;
537
+ dns?: outputs.apps.v1.FlyMachineConfigDns;
393
538
  /**
394
- * The name of the check. Must be unique within the container.
539
+ * An object filled with key/value pairs to be set as environment variables
395
540
  */
396
- name?: string;
541
+ env?: {
542
+ [key: string]: string;
543
+ };
397
544
  /**
398
- * The number of times the check must succeeed before considering the container healthy.
545
+ * Files to write into the Machine, from either a raw value or an app secret
399
546
  */
400
- successThreshold?: number;
401
- tcp?: outputs.apps.v1.FlyTCPHealthcheck;
547
+ files?: outputs.apps.v1.FlyFile[];
402
548
  /**
403
- * The time in seconds to wait for the check to complete.
549
+ * The resources (CPUs, memory, etc.) allocated to the Machine
404
550
  */
405
- timeout?: number;
551
+ guest?: outputs.apps.v1.FlyMachineConfigGuest;
406
552
  /**
407
- * Unhealthy policy that determines what action to take if a container is deemed unhealthy
408
- */
409
- unhealthy?: enums.apps.v1.FlyContainerHealthcheckUnhealthy;
410
- }
411
- interface FlyDnsForwardRule {
412
- addr?: string;
413
- basename?: string;
414
- }
415
- interface FlyDnsOption {
416
- name?: string;
417
- value?: string;
418
- }
419
- /**
420
- * EnvVar defines an environment variable to be populated from a machine field, env_var
421
- */
422
- interface FlyEnvFrom {
423
- /**
424
- * EnvVar is required and is the name of the environment variable that will be set from the
425
- * secret. It must be a valid environment variable name.
426
- */
427
- envVar?: string;
428
- /**
429
- * FieldRef selects a field of the Machine: supports id, version, app_name, private_ip, region, image.
430
- */
431
- fieldRef?: enums.apps.v1.FlyEnvFromFieldRef;
432
- }
433
- interface FlyExecHealthcheck {
434
- /**
435
- * The command to run to check the health of the container (e.g. ["cat", "/tmp/healthy"])
436
- */
437
- command?: string[];
438
- }
439
- /**
440
- * A file that will be written to the Machine. One of RawValue or SecretName must be set.
441
- */
442
- interface FlyFile {
443
- /**
444
- * GuestPath is the path on the machine where the file will be written and must be an absolute path.
445
- * For example: /full/path/to/file.json
446
- */
447
- guestPath?: string;
448
- /**
449
- * The name of an image to use the OCI image config as the file contents.
450
- */
451
- imageConfig?: string;
452
- /**
453
- * Mode bits used to set permissions on this file as accepted by chmod(2).
454
- */
455
- mode?: number;
456
- /**
457
- * The base64 encoded string of the file contents.
458
- */
459
- rawValue?: string;
460
- /**
461
- * The name of the secret that contains the base64 encoded file contents.
462
- */
463
- secretName?: string;
464
- }
465
- interface FlyHTTPHealthcheck {
466
- /**
467
- * Additional headers to send with the request
468
- */
469
- headers?: outputs.apps.v1.FlyMachineHTTPHeader[];
470
- /**
471
- * The HTTP method to use to when making the request
472
- */
473
- method?: string;
474
- /**
475
- * The path to send the request to
476
- */
477
- path?: string;
478
- /**
479
- * The port to connect to, often the same as internal_port
480
- */
481
- port?: number;
482
- /**
483
- * Whether to use http or https
484
- */
485
- scheme?: enums.apps.v1.FlyHTTPHealthcheckScheme;
486
- /**
487
- * If the protocol is https, the hostname to use for TLS certificate validation
488
- */
489
- tlsServerName?: string;
490
- /**
491
- * If the protocol is https, whether or not to verify the TLS certificate
492
- */
493
- tlsSkipVerify?: boolean;
494
- }
495
- interface FlyHTTPOptions {
496
- compress?: boolean;
497
- h2Backend?: boolean;
498
- headersReadTimeout?: number;
499
- idleTimeout?: number;
500
- replayCache?: outputs.apps.v1.FlyReplayCache[];
501
- response?: outputs.apps.v1.FlyHTTPResponseOptions;
502
- }
503
- interface FlyHTTPResponseOptions {
504
- headers?: {
505
- [key: string]: any;
506
- };
507
- pristine?: boolean;
508
- }
509
- interface FlyMachineConfig {
510
- /**
511
- * Optional boolean telling the Machine to destroy itself once it’s complete (default false)
512
- */
513
- autoDestroy?: boolean;
514
- /**
515
- * A cache drive attached to the Machine
516
- */
517
- cacheDrive?: outputs.apps.v1.FlyMachineConfigCacheDrive;
518
- /**
519
- * An optional object that defines one or more named top-level checks. The key for each check is the check name.
520
- */
521
- checks?: {
522
- [key: string]: outputs.apps.v1.FlyMachineConfigChecksProperties;
523
- };
524
- /**
525
- * Containers are a list of containers that will run in the machine, each from its own image.
526
- */
527
- containers?: outputs.apps.v1.FlyContainerConfig[];
528
- /**
529
- * Deprecated: use Service.Autostart instead
530
- */
531
- disableMachineAutostart?: boolean;
532
- /**
533
- * DNS settings for the Machine
534
- */
535
- dns?: outputs.apps.v1.FlyMachineConfigDns;
536
- /**
537
- * An object filled with key/value pairs to be set as environment variables
538
- */
539
- env?: {
540
- [key: string]: string;
541
- };
542
- /**
543
- * Files to write into the Machine, from either a raw value or an app secret
544
- */
545
- files?: outputs.apps.v1.FlyFile[];
546
- /**
547
- * The resources (CPUs, memory, etc.) allocated to the Machine
548
- */
549
- guest?: outputs.apps.v1.FlyMachineConfigGuest;
550
- /**
551
- * The docker image to run
553
+ * The docker image to run
552
554
  */
553
555
  image?: string;
554
556
  /**
@@ -581,7 +583,8 @@ export declare namespace apps {
581
583
  */
582
584
  restart?: outputs.apps.v1.FlyMachineConfigRestart;
583
585
  /**
584
- * The size of the Machine's root filesystem and whether it persists
586
+ * Beta: the size of the Machine's root filesystem and whether it persists. This field may be
587
+ * removed in the future
585
588
  */
586
589
  rootfs?: outputs.apps.v1.FlyMachineConfigRootfs;
587
590
  /**
@@ -618,209 +621,136 @@ export declare namespace apps {
618
621
  */
619
622
  stopConfig?: outputs.apps.v1.FlyMachineConfigStopConfig;
620
623
  }
621
- /**
622
- * A cache drive attached to the Machine
623
- */
624
- interface FlyMachineConfigCacheDrive {
625
- sizeMb?: number;
626
- }
627
- /**
628
- * An optional object that defines one or more named top-level checks. The key for each check is the check name.
629
- */
630
- interface FlyMachineConfigChecksProperties {
624
+ interface DNSRecords {
631
625
  /**
632
- * The time to wait after a VM starts before checking its health
626
+ * A records found for the hostname.
633
627
  */
634
- gracePeriod?: string;
635
- headers?: outputs.apps.v1.FlyMachineHTTPHeader[];
628
+ a?: string[];
636
629
  /**
637
- * The time between connectivity checks
630
+ * AAAA records found for the hostname.
638
631
  */
639
- interval?: string;
632
+ aaaa?: string[];
640
633
  /**
641
- * Kind of the check (informational, readiness)
634
+ * Target of the `_acme-challenge` CNAME record, if found.
642
635
  */
643
- kind?: enums.apps.v1.ChecksKind;
636
+ acmeChallengeCname?: string;
644
637
  /**
645
- * For http checks, the HTTP method to use to when making the request
638
+ * CNAME records found for the hostname.
646
639
  */
647
- method?: string;
640
+ cname?: string[];
648
641
  /**
649
- * For http checks, the path to send the request to
642
+ * Value of the `_fly-ownership` TXT record, if found.
650
643
  */
651
- path?: string;
644
+ ownershipTxt?: string;
652
645
  /**
653
- * The port to connect to, often the same as internal_port
646
+ * All addresses the hostname resolved to, after following CNAMEs.
654
647
  */
655
- port?: number;
648
+ resolvedAddresses?: string[];
656
649
  /**
657
- * For http checks, whether to use http or https
650
+ * Primary name server from the SOA record of the hostname's zone.
658
651
  */
659
- protocol?: string;
652
+ soa?: string;
653
+ }
654
+ /**
655
+ * Record for DNS-01 validation.
656
+ */
657
+ interface DNSRequirementsAcmeChallenge {
660
658
  /**
661
- * The maximum time a connection can take before being reported as failing its health check
659
+ * Name of the CNAME record to create, such as `_acme-challenge.example.com`.
662
660
  */
663
- timeout?: string;
661
+ name?: string;
664
662
  /**
665
- * If the protocol is https, the hostname to use for TLS certificate validation
663
+ * Value the CNAME record must point to.
666
664
  */
667
- tlsServerName?: string;
665
+ target?: string;
666
+ }
667
+ /**
668
+ * Record for proving ownership of the hostname.
669
+ */
670
+ interface DNSRequirementsOwnership {
668
671
  /**
669
- * For http checks with https protocol, whether or not to verify the TLS certificate
672
+ * TXT record value that proves ownership for this app.
670
673
  */
671
- tlsSkipVerify?: boolean;
674
+ appValue?: string;
672
675
  /**
673
- * tcp or http
676
+ * Name of the TXT record to create, such as `_fly-ownership.example.com`.
674
677
  */
675
- type?: string;
676
- }
677
- /**
678
- * DNS settings for the Machine
679
- */
680
- interface FlyMachineConfigDns {
681
- dnsForwardRules?: outputs.apps.v1.FlyDnsForwardRule[];
682
- hostname?: string;
683
- hostnameFqdn?: string;
684
- nameservers?: string[];
685
- options?: outputs.apps.v1.FlyDnsOption[];
686
- searches?: string[];
687
- skipRegistration?: boolean;
688
- }
689
- /**
690
- * The resources (CPUs, memory, etc.) allocated to the Machine
691
- */
692
- interface FlyMachineConfigGuest {
693
- cpuKind?: string;
694
- cpus?: number;
695
- gpuKind?: string;
696
- gpus?: number;
697
- hostDedicationId?: string;
698
- kernelArgs?: string[];
699
- maxMemoryMb?: number;
700
- memoryMb?: number;
678
+ name?: string;
701
679
  /**
702
- * Deprecated: use MachineConfig.Rootfs instead
680
+ * TXT record value that proves ownership for every app in the organization.
703
681
  */
704
- persistRootfs?: enums.apps.v1.FlyMachineGuestPersistRootfs;
705
- requiredHostFeatures?: string[];
706
- }
707
- /**
708
- * Arguments for init, Fly.io's footprint inside the Machine, which controls how your own code is run
709
- */
710
- interface FlyMachineConfigInit {
711
- cmd?: string[];
712
- entrypoint?: string[];
713
- exec?: string[];
714
- kernelArgs?: string[];
715
- swapSizeMb?: number;
716
- tty?: boolean;
717
- }
718
- /**
719
- * An optional metrics endpoint for Prometheus on Fly.io to scrape
720
- */
721
- interface FlyMachineConfigMetrics {
722
- https?: boolean;
723
- path?: string;
724
- port?: number;
682
+ orgValue?: string;
725
683
  }
726
684
  /**
727
- * Whether and how the Machine is restarted after its main process exits
685
+ * The lease.
728
686
  */
729
- interface FlyMachineConfigRestart {
687
+ interface Data {
730
688
  /**
731
- * When policy is on-failure, the maximum number of times to attempt to restart the Machine before letting it stop.
689
+ * Description or reason for the lease.
732
690
  */
733
- maxRetries?: number;
691
+ description?: string;
734
692
  /**
735
- * * no - Never try to restart a Machine automatically when its main process exits, whether that’s on purpose or on a crash.
736
- * * always - Always restart a Machine automatically and never let it enter a stopped state, even when the main process exits cleanly.
737
- * * on-failure - Try up to MaxRetries times to automatically restart the Machine if it exits with a non-zero exit code. Default when no explicit policy is set, and for Machines with schedules.
693
+ * When the lease expires, in Unix seconds.
738
694
  */
739
- policy?: enums.apps.v1.FlyMachineRestartPolicy;
740
- }
741
- /**
742
- * The size of the Machine's root filesystem and whether it persists
743
- */
744
- interface FlyMachineConfigRootfs {
745
- persist?: enums.apps.v1.FlyMachineRootfsPersist;
746
- sizeGb?: number;
695
+ expiresAt?: number;
696
+ /**
697
+ * Unique ID generated for the lease. Pass it in the `fly-machine-lease-nonce` header to
698
+ * act on the leased Machine, refresh the lease, or release it.
699
+ */
700
+ nonce?: string;
701
+ /**
702
+ * Email address of the user who acquired the lease.
703
+ */
704
+ owner?: string;
705
+ /**
706
+ * ID of the Machine's version at the time of the request.
707
+ */
708
+ version?: string;
747
709
  }
748
710
  /**
749
- * Spot pricing settings for the Machine
711
+ * DNS records to create to point the hostname at the app and validate it.
750
712
  */
751
- interface FlyMachineConfigSpot {
713
+ interface DnsRequirements {
752
714
  /**
753
- * MaxPriceFraction is the maximum fraction of the full Machine price you will pay for this Machine. Range: (0, 1.0]
715
+ * IPv4 addresses the hostname's A records can point to: the app's global IPv4 addresses
716
+ * and its shared IPv4 address.
754
717
  */
755
- maxPriceFraction?: number;
756
- }
757
- /**
758
- * How the Machine is shut down gracefully: the signal sent to it and how long to wait before a hard shutdown
759
- */
760
- interface FlyMachineConfigStopConfig {
761
- signal?: enums.apps.v1.FlyStopConfigSignal;
762
- timeout?: string;
763
- }
764
- interface FlyMachineGuest {
765
- cpuKind?: string;
766
- cpus?: number;
767
- gpuKind?: string;
768
- gpus?: number;
769
- hostDedicationId?: string;
770
- kernelArgs?: string[];
771
- maxMemoryMb?: number;
772
- memoryMb?: number;
718
+ a?: string[];
773
719
  /**
774
- * Deprecated: use MachineConfig.Rootfs instead
720
+ * IPv6 addresses the hostname's AAAA records can point to: the app's global IPv6
721
+ * addresses.
775
722
  */
776
- persistRootfs?: enums.apps.v1.FlyMachineGuestPersistRootfs;
777
- requiredHostFeatures?: string[];
778
- }
779
- /**
780
- * For http checks, an array of objects with string field Name and array of strings field Values. The key/value pairs specify header and header values that will get passed with the check call.
781
- */
782
- interface FlyMachineHTTPHeader {
723
+ aaaa?: string[];
783
724
  /**
784
- * The header name
725
+ * Record for DNS-01 validation.
785
726
  */
786
- name?: string;
727
+ acmeChallenge?: outputs.apps.v1.DNSRequirementsAcmeChallenge;
787
728
  /**
788
- * The header value
729
+ * Target the hostname can CNAME to instead of using A and AAAA records.
789
730
  */
790
- values?: string[];
791
- }
792
- interface FlyMachineMount {
793
- addSizeGb?: number;
731
+ cname?: string;
794
732
  /**
795
- * AddSizePercent grows by a percentage of the current size, rounded up to GiB.
796
- * It is mutually exclusive with AddSizeGb.
733
+ * Record for proving ownership of the hostname.
797
734
  */
798
- addSizePercent?: number;
799
- encrypted?: boolean;
800
- extendThresholdPercent?: number;
735
+ ownership?: outputs.apps.v1.DNSRequirementsOwnership;
736
+ }
737
+ interface FlyContainerConfig {
801
738
  /**
802
- * MinAddSizeGb is the minimum proportional growth in GiB (default 1).
739
+ * CmdOverride is used to override the default command of the image.
803
740
  */
804
- minAddSizeGb?: number;
805
- name?: string;
806
- path?: string;
807
- sizeGb?: number;
808
- sizeGbLimit?: number;
809
- volume?: string;
810
- }
811
- interface FlyMachinePort {
812
- endPort?: number;
813
- forceHttps?: boolean;
814
- handlers?: string[];
815
- httpOptions?: outputs.apps.v1.FlyHTTPOptions;
816
- port?: number;
817
- proxyProtoOptions?: outputs.apps.v1.FlyProxyProtoOptions;
818
- startPort?: number;
819
- tlsOptions?: outputs.apps.v1.FlyTLSOptions;
820
- }
821
- interface FlyMachineProcess {
822
741
  cmd?: string[];
742
+ /**
743
+ * DependsOn can be used to define dependencies between containers. The container will only be
744
+ * started after all of its dependent conditions have been satisfied.
745
+ */
746
+ dependsOn?: outputs.apps.v1.FlyContainerDependency[];
747
+ /**
748
+ * EntrypointOverride is used to override the default entrypoint of the image.
749
+ */
823
750
  entrypoint?: string[];
751
+ /**
752
+ * ExtraEnv is used to add additional environment variables to the container.
753
+ */
824
754
  env?: {
825
755
  [key: string]: string;
826
756
  };
@@ -828,239 +758,1541 @@ export declare namespace apps {
828
758
  * EnvFrom can be provided to set environment variables from machine fields.
829
759
  */
830
760
  envFrom?: outputs.apps.v1.FlyEnvFrom[];
761
+ /**
762
+ * Image Config overrides - these fields are used to override the image configuration.
763
+ * If not provided, the image configuration will be used.
764
+ * ExecOverride is used to override the default command of the image.
765
+ */
831
766
  exec?: string[];
832
767
  /**
833
- * IgnoreAppSecrets can be set to true to ignore the secrets for the App the Machine belongs to
834
- * and only use the secrets provided at the process level. The default/legacy behavior is to use
835
- * the secrets provided at the App level.
768
+ * Files are files that will be written to the container file system.
836
769
  */
837
- ignoreAppSecrets?: boolean;
770
+ files?: outputs.apps.v1.FlyFile[];
771
+ /**
772
+ * Healthchecks determine the health of your containers. Healthchecks can use HTTP, TCP or an Exec command.
773
+ */
774
+ healthchecks?: outputs.apps.v1.FlyContainerHealthcheck[];
775
+ /**
776
+ * Image is the docker image to run.
777
+ */
778
+ image?: string;
779
+ /**
780
+ * Name is used to identify the container in the machine.
781
+ */
782
+ name?: string;
783
+ /**
784
+ * Restart is used to define the restart policy for the container.
785
+ */
786
+ restart?: outputs.apps.v1.FlyContainerConfigRestart;
838
787
  /**
839
788
  * Secrets can be provided at the process level to explicitly indicate which secrets should be
840
789
  * used for the process. If not provided, the secrets provided at the machine level will be used.
841
790
  */
842
791
  secrets?: outputs.apps.v1.FlyMachineSecret[];
792
+ /**
793
+ * Stop is used to define the signal and timeout for stopping the container.
794
+ */
795
+ stop?: outputs.apps.v1.FlyContainerConfigStop;
796
+ /**
797
+ * UserOverride is used to override the default user of the image.
798
+ */
843
799
  user?: string;
844
800
  }
845
801
  /**
846
- * A Secret needing to be set in the environment of the Machine. env_var is required
802
+ * Restart is used to define the restart policy for the container.
847
803
  */
848
- interface FlyMachineSecret {
804
+ interface FlyContainerConfigRestart {
849
805
  /**
850
- * EnvVar is required and is the name of the environment variable that will be set from the
851
- * secret. It must be a valid environment variable name.
806
+ * When policy is on-failure, the maximum number of times to attempt to restart the Machine before letting it stop.
852
807
  */
853
- envVar?: string;
808
+ maxRetries?: number;
854
809
  /**
855
- * Name is optional and when provided is used to reference a secret name where the EnvVar is
856
- * different from what was set as the secret name.
810
+ * * no - Never try to restart a Machine automatically when its main process exits, whether that’s on purpose or on a crash.
811
+ * * always - Always restart a Machine automatically and never let it enter a stopped state, even when the main process exits cleanly.
812
+ * * on-failure - Try up to MaxRetries times to automatically restart the Machine if it exits with a non-zero exit code. Default when no explicit policy is set, and for Machines with schedules.
857
813
  */
858
- name?: string;
814
+ policy?: enums.apps.v1.FlyMachineRestartPolicy;
859
815
  }
860
- interface FlyMachineService {
861
- autostart?: boolean;
816
+ /**
817
+ * Stop is used to define the signal and timeout for stopping the container.
818
+ */
819
+ interface FlyContainerConfigStop {
862
820
  /**
863
- * Accepts a string (new format) or a boolean (old format). For backward compatibility with older clients, the API continues to use booleans for "off" and "stop" in responses.
864
- * * "off" or false - Do not autostop the Machine.
865
- * * "stop" or true - Automatically stop the Machine.
866
- * * "suspend" - Automatically suspend the Machine, falling back to a full stop if this is not possible.
821
+ * Signal to send to the Machine's processes. Defaults to SIGINT
867
822
  */
868
- autostop?: enums.apps.v1.FlyMachineServiceAutostop;
823
+ signal?: enums.apps.v1.FlyStopConfigSignal;
869
824
  /**
870
- * An optional list of service checks
825
+ * How long to wait for the Machine to exit after sending the signal, before killing it. At most
826
+ * 5 minutes (1 minute for spot Machines). Defaults to 5s (60s for spot Machines)
871
827
  */
872
- checks?: outputs.apps.v1.FlyMachineServiceCheck[];
873
- concurrency?: outputs.apps.v1.FlyMachineServiceConcurrency;
874
- forceInstanceDescription?: string;
875
- forceInstanceKey?: string;
876
- internalPort?: number;
877
- minMachinesRunning?: number;
878
- ports?: outputs.apps.v1.FlyMachinePort[];
879
- protocol?: string;
828
+ timeout?: string;
880
829
  }
881
- interface FlyMachineServiceCheck {
830
+ interface FlyContainerDependency {
882
831
  /**
883
- * The time to wait after a VM starts before checking its health
832
+ * When the container can start: once the dependency has `started`, is `healthy`, or has
833
+ * `exited_successfully`
884
834
  */
885
- gracePeriod?: string;
886
- headers?: outputs.apps.v1.FlyMachineHTTPHeader[];
835
+ condition?: enums.apps.v1.FlyContainerDependencyCondition;
887
836
  /**
888
- * The time between connectivity checks
837
+ * Name of the container this one depends on
889
838
  */
890
- interval?: string;
839
+ name?: string;
840
+ }
841
+ interface FlyContainerHealthcheck {
891
842
  /**
892
- * For http checks, the HTTP method to use to when making the request
843
+ * Check that a command run in the container exits with status 0
893
844
  */
894
- method?: string;
845
+ exec?: outputs.apps.v1.FlyContainerHealthcheckExec;
895
846
  /**
896
- * For http checks, the path to send the request to
847
+ * The number of times the check must fail before considering the container unhealthy.
897
848
  */
898
- path?: string;
849
+ failureThreshold?: number;
899
850
  /**
900
- * The port to connect to, often the same as internal_port
851
+ * The time in seconds to wait after a container starts before checking its health.
901
852
  */
902
- port?: number;
853
+ gracePeriod?: number;
903
854
  /**
904
- * For http checks, whether to use http or https
855
+ * Check that an HTTP request succeeds
905
856
  */
906
- protocol?: string;
857
+ http?: outputs.apps.v1.FlyContainerHealthcheckHttp;
907
858
  /**
908
- * The maximum time a connection can take before being reported as failing its health check
859
+ * The time in seconds between executing the defined check.
909
860
  */
910
- timeout?: string;
861
+ interval?: number;
911
862
  /**
912
- * If the protocol is https, the hostname to use for TLS certificate validation
863
+ * Kind of healthcheck (readiness, liveness)
913
864
  */
914
- tlsServerName?: string;
865
+ kind?: enums.apps.v1.FlyContainerHealthcheckKind;
915
866
  /**
916
- * For http checks with https protocol, whether or not to verify the TLS certificate
867
+ * The name of the check. Must be unique within the container.
917
868
  */
918
- tlsSkipVerify?: boolean;
869
+ name?: string;
919
870
  /**
920
- * tcp or http
871
+ * The number of times the check must succeeed before considering the container healthy.
921
872
  */
922
- type?: string;
923
- }
924
- interface FlyMachineServiceConcurrency {
925
- hardLimit?: number;
926
- softLimit?: number;
927
- type?: string;
928
- }
929
- interface FlyProxyProtoOptions {
930
- flySrc?: boolean;
931
- version?: string;
932
- }
933
- interface FlyReplayCache {
934
- allowBypass?: boolean;
873
+ successThreshold?: number;
935
874
  /**
936
- * Name of the cookie or header to key the cache on
875
+ * Check that a TCP connection can be opened
937
876
  */
938
- name?: string;
939
- pathPrefix?: string;
940
- ttlSeconds?: number;
877
+ tcp?: outputs.apps.v1.FlyContainerHealthcheckTcp;
941
878
  /**
942
- * Currently either "cookie" or "header"
879
+ * The time in seconds to wait for the check to complete.
943
880
  */
944
- type?: enums.apps.v1.FlyReplayCacheType;
881
+ timeout?: number;
882
+ /**
883
+ * Unhealthy policy that determines what action to take if a container is deemed unhealthy
884
+ */
885
+ unhealthy?: enums.apps.v1.FlyContainerHealthcheckUnhealthy;
945
886
  }
946
- interface FlyStatic {
887
+ /**
888
+ * Check that a command run in the container exits with status 0
889
+ */
890
+ interface FlyContainerHealthcheckExec {
947
891
  /**
948
- * The path inside the Machine, or inside tigris_bucket when set, where the files to serve are located
892
+ * The command to run to check the health of the container (e.g. ["cat", "/tmp/healthy"])
949
893
  */
950
- guestPath: string;
894
+ command?: string[];
895
+ }
896
+ /**
897
+ * Check that an HTTP request succeeds
898
+ */
899
+ interface FlyContainerHealthcheckHttp {
951
900
  /**
952
- * The document served for requests to the URL prefix or any of its subfolders. Only works with tigris_bucket
901
+ * Additional headers to send with the request
953
902
  */
954
- indexDocument?: string;
903
+ headers?: outputs.apps.v1.FlyMachineHTTPHeader[];
955
904
  /**
956
- * An existing Tigris bucket belonging to the app to read the files from, instead of the Machine's
957
- * filesystem. The files are still served through the Machine
905
+ * The HTTP method to use to when making the request
958
906
  */
959
- tigrisBucket?: string;
907
+ method?: string;
960
908
  /**
961
- * The URL prefix under which the files are served
909
+ * The path to send the request to
962
910
  */
963
- urlPrefix: string;
964
- }
965
- interface FlyTCPHealthcheck {
911
+ path?: string;
966
912
  /**
967
913
  * The port to connect to, often the same as internal_port
968
914
  */
969
915
  port?: number;
970
- }
971
- interface FlyTLSOptions {
972
- alpn?: string[];
973
- defaultSelfSigned?: boolean;
974
- versions?: string[];
975
- }
976
- interface IPAssignment {
977
- createdAt?: string;
978
- egress?: boolean;
979
- ip?: string;
980
916
  /**
981
- * The 6PN network a Flycast (private_v6) address belongs to. Null for all other IP types.
917
+ * Whether to use http or https
982
918
  */
983
- network?: outputs.apps.v1.IPAssignmentNetwork;
984
- region?: string;
985
- serviceName?: string;
986
- shared?: boolean;
919
+ scheme?: enums.apps.v1.FlyHTTPHealthcheckScheme;
920
+ /**
921
+ * If the protocol is https, the hostname to use for TLS certificate validation
922
+ */
923
+ tlsServerName?: string;
924
+ /**
925
+ * If the protocol is https, whether or not to verify the TLS certificate
926
+ */
927
+ tlsSkipVerify?: boolean;
987
928
  }
988
929
  /**
989
- * The 6PN network a Flycast (private_v6) address belongs to. Null for all other IP types.
930
+ * Check that a TCP connection can be opened
990
931
  */
991
- interface IPAssignmentNetwork {
932
+ interface FlyContainerHealthcheckTcp {
992
933
  /**
993
- * Network name; empty for the organization's default network.
934
+ * The port to connect to, often the same as internal_port
935
+ */
936
+ port?: number;
937
+ }
938
+ interface FlyDnsForwardRule {
939
+ /**
940
+ * Address and port of the DNS server to forward queries to over TCP, e.g. `10.0.0.1:53`
941
+ */
942
+ addr?: string;
943
+ /**
944
+ * Domain to forward queries for, including subdomains. Must end in a dot, e.g. `example.com.`
945
+ */
946
+ basename?: string;
947
+ }
948
+ interface FlyDnsOption {
949
+ /**
950
+ * Option name, e.g. `ndots`
951
+ */
952
+ name?: string;
953
+ /**
954
+ * Option value, e.g. `5`
955
+ */
956
+ value?: string;
957
+ }
958
+ /**
959
+ * EnvVar defines an environment variable to be populated from a machine field, env_var
960
+ */
961
+ interface FlyEnvFrom {
962
+ /**
963
+ * EnvVar is required and is the name of the environment variable that will be set from the
964
+ * secret. It must be a valid environment variable name.
965
+ */
966
+ envVar?: string;
967
+ /**
968
+ * FieldRef selects a field of the Machine: supports id, version, app_name, private_ip, region, image.
969
+ */
970
+ fieldRef?: enums.apps.v1.FlyEnvFromFieldRef;
971
+ }
972
+ /**
973
+ * A file that will be written to the Machine. One of RawValue or SecretName must be set.
974
+ */
975
+ interface FlyFile {
976
+ /**
977
+ * GuestPath is the path on the machine where the file will be written and must be an absolute path.
978
+ * For example: /full/path/to/file.json
979
+ */
980
+ guestPath?: string;
981
+ /**
982
+ * The name of an image to use the OCI image config as the file contents.
983
+ */
984
+ imageConfig?: string;
985
+ /**
986
+ * Mode bits used to set permissions on this file as accepted by chmod(2).
987
+ */
988
+ mode?: number;
989
+ /**
990
+ * The base64 encoded string of the file contents.
991
+ */
992
+ rawValue?: string;
993
+ /**
994
+ * The name of the secret that contains the base64 encoded file contents.
995
+ */
996
+ secretName?: string;
997
+ }
998
+ /**
999
+ * Changes Fly Proxy makes to responses
1000
+ */
1001
+ interface FlyHTTPOptionsResponse {
1002
+ /**
1003
+ * Response headers to set. A string sets the header, a list of strings sets it to multiple
1004
+ * values, and false removes it
1005
+ */
1006
+ headers?: {
1007
+ [key: string]: any;
1008
+ };
1009
+ /**
1010
+ * Don't let Fly Proxy add or change any response headers
1011
+ */
1012
+ pristine?: boolean;
1013
+ }
1014
+ /**
1015
+ * Beta: a cache drive attached to the Machine. This field may be removed in the future
1016
+ */
1017
+ interface FlyMachineConfigCacheDrive {
1018
+ /**
1019
+ * Optional absolute guest mount path. When set, the device is formatted as ext4.
1020
+ * Without a path, the device retains legacy raw block behavior. Contents survive
1021
+ * same-host restarts and path changes, but are discarded on size or mode changes,
1022
+ * relocation, recovery on another host, and cloning.
1023
+ */
1024
+ path?: string;
1025
+ /**
1026
+ * Fixed size of the Machine-owned cache drive in MiB. At most 51200.
1027
+ * With a path, at least 16 MiB is required; without a path, 0 disables the device.
1028
+ */
1029
+ sizeMb?: number;
1030
+ }
1031
+ /**
1032
+ * An optional object that defines one or more named top-level checks. The key for each check is the check name.
1033
+ */
1034
+ interface FlyMachineConfigChecksProperties {
1035
+ /**
1036
+ * The time to wait after a VM starts before checking its health
1037
+ */
1038
+ gracePeriod?: string;
1039
+ /**
1040
+ * For http checks, headers to send with the request
1041
+ */
1042
+ headers?: outputs.apps.v1.FlyMachineHTTPHeader[];
1043
+ /**
1044
+ * The time between connectivity checks
1045
+ */
1046
+ interval?: string;
1047
+ /**
1048
+ * Kind of the check (informational, readiness)
1049
+ */
1050
+ kind?: enums.apps.v1.ChecksKind;
1051
+ /**
1052
+ * For http checks, the HTTP method to use to when making the request
1053
+ */
1054
+ method?: string;
1055
+ /**
1056
+ * For http checks, the path to send the request to
1057
+ */
1058
+ path?: string;
1059
+ /**
1060
+ * The port to connect to, often the same as internal_port
1061
+ */
1062
+ port?: number;
1063
+ /**
1064
+ * For http checks, whether to use http or https
1065
+ */
1066
+ protocol?: string;
1067
+ /**
1068
+ * The maximum time a connection can take before being reported as failing its health check
1069
+ */
1070
+ timeout?: string;
1071
+ /**
1072
+ * If the protocol is https, the hostname to use for TLS certificate validation
1073
+ */
1074
+ tlsServerName?: string;
1075
+ /**
1076
+ * For http checks with https protocol, whether or not to verify the TLS certificate
1077
+ */
1078
+ tlsSkipVerify?: boolean;
1079
+ /**
1080
+ * tcp or http
1081
+ */
1082
+ type?: string;
1083
+ }
1084
+ /**
1085
+ * DNS settings for the Machine
1086
+ */
1087
+ interface FlyMachineConfigDns {
1088
+ /**
1089
+ * Forward DNS queries for some domains to other DNS servers
1090
+ */
1091
+ dnsForwardRules?: outputs.apps.v1.FlyDnsForwardRule[];
1092
+ /**
1093
+ * Hostname of the Machine. Defaults to the Machine ID. Also added to /etc/hosts with the
1094
+ * Machine's 6PN address
1095
+ */
1096
+ hostname?: string;
1097
+ /**
1098
+ * Fully qualified domain name added to /etc/hosts for `hostname`
1099
+ */
1100
+ hostnameFqdn?: string;
1101
+ /**
1102
+ * Nameservers to use instead of the default, Fly.io's private DNS server `fdaa::3`
1103
+ */
1104
+ nameservers?: string[];
1105
+ /**
1106
+ * Options for /etc/resolv.conf
1107
+ */
1108
+ options?: outputs.apps.v1.FlyDnsOption[];
1109
+ /**
1110
+ * Search domains for /etc/resolv.conf
1111
+ */
1112
+ searches?: string[];
1113
+ /**
1114
+ * Currently has no effect
1115
+ */
1116
+ skipRegistration?: boolean;
1117
+ }
1118
+ /**
1119
+ * The resources (CPUs, memory, etc.) allocated to the Machine
1120
+ */
1121
+ interface FlyMachineConfigGuest {
1122
+ /**
1123
+ * Kind of CPU: shared or performance. Performance CPUs must be enabled for the organization.
1124
+ * Defaults to shared when `guest` is omitted
1125
+ */
1126
+ cpuKind?: string;
1127
+ /**
1128
+ * Number of CPUs: 1, 2, 4, 6, 8, 10, 12, 14, 16, 32, 64 or 128, up to 8 for shared and 16 for
1129
+ * performance CPUs unless the organization's limit is higher. Defaults to 1 when `guest` is
1130
+ * omitted
1131
+ */
1132
+ cpus?: number;
1133
+ /**
1134
+ * No longer supported. Requests that set it are rejected
1135
+ */
1136
+ gpuKind?: string;
1137
+ /**
1138
+ * No longer supported. Requests that set it are rejected
1139
+ */
1140
+ gpus?: number;
1141
+ /**
1142
+ * Place the Machine on hosts dedicated to the organization under this ID. Only available to
1143
+ * organizations with dedicated hosts
1144
+ */
1145
+ hostDedicationId?: string;
1146
+ /**
1147
+ * Extra arguments appended to the guest kernel command line
1148
+ */
1149
+ kernelArgs?: string[];
1150
+ /**
1151
+ * Memory in MiB that the Machine's memory limit can later be raised to without a restart, using
1152
+ * the memory endpoints. Must be at least memory_mb and at most the per-CPU maximum. The Machine
1153
+ * starts with a limit of memory_mb
1154
+ */
1155
+ maxMemoryMb?: number;
1156
+ /**
1157
+ * Memory in MiB. Must be a multiple of 256 for shared and 1024 for performance CPUs, and
1158
+ * between 256 and 2048 (shared) or 2048 and 8192 (performance) per CPU. Defaults to 256 when
1159
+ * `guest` is omitted
1160
+ */
1161
+ memoryMb?: number;
1162
+ /**
1163
+ * Deprecated: use MachineConfig.Rootfs instead
1164
+ */
1165
+ persistRootfs?: enums.apps.v1.FlyMachineGuestPersistRootfs;
1166
+ /**
1167
+ * Host features the Machine's host must have, such as `storage-tier-1`. At most 16, each made
1168
+ * of lowercase letters, digits and dashes. Each feature must be enabled for the organization
1169
+ */
1170
+ requiredHostFeatures?: string[];
1171
+ }
1172
+ /**
1173
+ * Arguments for init, Fly.io's footprint inside the Machine, which controls how your own code is run
1174
+ */
1175
+ interface FlyMachineConfigInit {
1176
+ /**
1177
+ * Replaces the image's CMD. It's appended to the entrypoint
1178
+ */
1179
+ cmd?: string[];
1180
+ /**
1181
+ * Replaces the image's ENTRYPOINT
1182
+ */
1183
+ entrypoint?: string[];
1184
+ /**
1185
+ * Command to run instead of the image's ENTRYPOINT and CMD. Takes precedence over entrypoint
1186
+ * and cmd
1187
+ */
1188
+ exec?: string[];
1189
+ /**
1190
+ * Currently has no effect. Use `guest.kernel_args` instead
1191
+ */
1192
+ kernelArgs?: string[];
1193
+ /**
1194
+ * Size in MiB of a swap device to give the Machine. Machines with swap cannot be suspended
1195
+ */
1196
+ swapSizeMb?: number;
1197
+ /**
1198
+ * Currently has no effect
1199
+ */
1200
+ tty?: boolean;
1201
+ }
1202
+ /**
1203
+ * An optional metrics endpoint for Prometheus on Fly.io to scrape
1204
+ */
1205
+ interface FlyMachineConfigMetrics {
1206
+ /**
1207
+ * Scrape over HTTPS instead of HTTP
1208
+ */
1209
+ https?: boolean;
1210
+ /**
1211
+ * HTTP path to scrape. Defaults to `/`
1212
+ */
1213
+ path?: string;
1214
+ /**
1215
+ * Port in the Machine to scrape metrics from
1216
+ */
1217
+ port?: number;
1218
+ }
1219
+ /**
1220
+ * Whether and how the Machine is restarted after its main process exits
1221
+ */
1222
+ interface FlyMachineConfigRestart {
1223
+ /**
1224
+ * When policy is on-failure, the maximum number of times to attempt to restart the Machine before letting it stop.
1225
+ */
1226
+ maxRetries?: number;
1227
+ /**
1228
+ * * no - Never try to restart a Machine automatically when its main process exits, whether that’s on purpose or on a crash.
1229
+ * * always - Always restart a Machine automatically and never let it enter a stopped state, even when the main process exits cleanly.
1230
+ * * on-failure - Try up to MaxRetries times to automatically restart the Machine if it exits with a non-zero exit code. Default when no explicit policy is set, and for Machines with schedules.
1231
+ */
1232
+ policy?: enums.apps.v1.FlyMachineRestartPolicy;
1233
+ }
1234
+ /**
1235
+ * Beta: the size of the Machine's root filesystem and whether it persists. This field may be
1236
+ * removed in the future
1237
+ */
1238
+ interface FlyMachineConfigRootfs {
1239
+ /**
1240
+ * Whether changes to the root filesystem are kept. `never` (default): reset on every start.
1241
+ * `restart`: kept across stops and restarts, reset when the Machine is updated. `always`: also
1242
+ * kept across updates
1243
+ */
1244
+ persist?: enums.apps.v1.FlyMachineRootfsPersist;
1245
+ /**
1246
+ * Size of the root filesystem in GB. At most 50; 0 uses the default
1247
+ */
1248
+ sizeGb?: number;
1249
+ }
1250
+ /**
1251
+ * Spot pricing settings for the Machine
1252
+ */
1253
+ interface FlyMachineConfigSpot {
1254
+ /**
1255
+ * MaxPriceFraction is the maximum fraction of the full Machine price you will pay for this Machine. Range: (0, 1.0]
1256
+ */
1257
+ maxPriceFraction?: number;
1258
+ }
1259
+ /**
1260
+ * How the Machine is shut down gracefully: the signal sent to it and how long to wait before a hard shutdown
1261
+ */
1262
+ interface FlyMachineConfigStopConfig {
1263
+ /**
1264
+ * Signal to send to the Machine's processes. Defaults to SIGINT
1265
+ */
1266
+ signal?: enums.apps.v1.FlyStopConfigSignal;
1267
+ /**
1268
+ * How long to wait for the Machine to exit after sending the signal, before killing it. At most
1269
+ * 5 minutes (1 minute for spot Machines). Defaults to 5s (60s for spot Machines)
1270
+ */
1271
+ timeout?: string;
1272
+ }
1273
+ /**
1274
+ * For http checks, an array of objects with string field Name and array of strings field Values. The key/value pairs specify header and header values that will get passed with the check call.
1275
+ */
1276
+ interface FlyMachineHTTPHeader {
1277
+ /**
1278
+ * The header name
1279
+ */
1280
+ name?: string;
1281
+ /**
1282
+ * The header value
1283
+ */
1284
+ values?: string[];
1285
+ }
1286
+ interface FlyMachineMount {
1287
+ /**
1288
+ * With automatic extension, grow the volume by this many GB at a time. Between 1 and 100.
1289
+ * Mutually exclusive with add_size_percent
1290
+ */
1291
+ addSizeGb?: number;
1292
+ /**
1293
+ * AddSizePercent grows by a percentage of the current size, rounded up to GiB.
1294
+ * It is mutually exclusive with AddSizeGb.
1295
+ */
1296
+ addSizePercent?: number;
1297
+ /**
1298
+ * Whether the volume is encrypted. Set by Fly.io; ignored in requests
1299
+ */
1300
+ encrypted?: boolean;
1301
+ /**
1302
+ * Enable automatic volume extension: grow the volume when its usage exceeds this percentage.
1303
+ * Between 50 and 99; 0 disables it
1304
+ */
1305
+ extendThresholdPercent?: number;
1306
+ /**
1307
+ * MinAddSizeGb is the minimum proportional growth in GiB (default 1).
1308
+ */
1309
+ minAddSizeGb?: number;
1310
+ /**
1311
+ * Name of the volume. Set by Fly.io; ignored in requests
1312
+ */
1313
+ name?: string;
1314
+ /**
1315
+ * Absolute path in the Machine to mount the volume at. Required
1316
+ */
1317
+ path?: string;
1318
+ /**
1319
+ * Size of the volume in GB. Set by Fly.io; ignored in requests
1320
+ */
1321
+ sizeGb?: number;
1322
+ /**
1323
+ * With automatic extension, never grow the volume beyond this size in GB. At most the
1324
+ * organization's maximum volume size
1325
+ */
1326
+ sizeGbLimit?: number;
1327
+ /**
1328
+ * ID (`vol_...`) or name of the volume to mount. Required. With a name, any unattached volume
1329
+ * of the app with that name in the Machine's region is used
1330
+ */
1331
+ volume?: string;
1332
+ }
1333
+ interface FlyMachinePort {
1334
+ /**
1335
+ * Last public port of a range
1336
+ */
1337
+ endPort?: number;
1338
+ /**
1339
+ * Redirect plain HTTP requests to HTTPS
1340
+ */
1341
+ forceHttps?: boolean;
1342
+ /**
1343
+ * How Fly Proxy handles connections before forwarding them: `tls` terminates TLS, `pg_tls`
1344
+ * terminates PostgreSQL TLS, `http` handles HTTP, `proxy_proto` adds a PROXY protocol header.
1345
+ * Without handlers, raw TCP is forwarded
1346
+ */
1347
+ handlers?: string[];
1348
+ /**
1349
+ * Options for the `http` handler
1350
+ */
1351
+ httpOptions?: outputs.apps.v1.FlyMachinePortHttpOptions;
1352
+ /**
1353
+ * Public port. Use either port, or start_port and end_port
1354
+ */
1355
+ port?: number;
1356
+ /**
1357
+ * Options for the `proxy_proto` handler
1358
+ */
1359
+ proxyProtoOptions?: outputs.apps.v1.FlyMachinePortProxyProtoOptions;
1360
+ /**
1361
+ * First public port of a range
1362
+ */
1363
+ startPort?: number;
1364
+ /**
1365
+ * Options for the `tls` handler
1366
+ */
1367
+ tlsOptions?: outputs.apps.v1.FlyMachinePortTlsOptions;
1368
+ }
1369
+ /**
1370
+ * Options for the `http` handler
1371
+ */
1372
+ interface FlyMachinePortHttpOptions {
1373
+ /**
1374
+ * Compress response bodies. Defaults to true
1375
+ */
1376
+ compress?: boolean;
1377
+ /**
1378
+ * Use HTTP/2 to talk to the Machine
1379
+ */
1380
+ h2Backend?: boolean;
1381
+ /**
1382
+ * Seconds Fly Proxy waits for a client to send request headers. Defaults to 5
1383
+ */
1384
+ headersReadTimeout?: number;
1385
+ /**
1386
+ * Seconds a client connection can be idle between requests before it's closed. Defaults to 300
1387
+ */
1388
+ idleTimeout?: number;
1389
+ /**
1390
+ * Cache `fly-replay` responses from the Machine: once a client is replayed, its further
1391
+ * requests are replayed directly, keyed on a cookie or header, without asking the Machine again
1392
+ */
1393
+ replayCache?: outputs.apps.v1.FlyReplayCache[];
1394
+ /**
1395
+ * Changes Fly Proxy makes to responses
1396
+ */
1397
+ response?: outputs.apps.v1.FlyHTTPOptionsResponse;
1398
+ }
1399
+ /**
1400
+ * Options for the `proxy_proto` handler
1401
+ */
1402
+ interface FlyMachinePortProxyProtoOptions {
1403
+ /**
1404
+ * With version v2, add the Fly-Src header and its signature to the PROXY protocol header
1405
+ */
1406
+ flySrc?: boolean;
1407
+ /**
1408
+ * PROXY protocol version: v1 (default) or v2
1409
+ */
1410
+ version?: string;
1411
+ }
1412
+ /**
1413
+ * Options for the `tls` handler
1414
+ */
1415
+ interface FlyMachinePortTlsOptions {
1416
+ /**
1417
+ * ALPN protocols to offer, e.g. `h2`, `http/1.1`. Defaults to `h2` and `http/1.1`
1418
+ */
1419
+ alpn?: string[];
1420
+ /**
1421
+ * Use a self-signed certificate when there is no certificate for the requested hostname
1422
+ */
1423
+ defaultSelfSigned?: boolean;
1424
+ /**
1425
+ * TLS versions to accept: `TLSv1.2`, `TLSv1.3`. Defaults to both
1426
+ */
1427
+ versions?: string[];
1428
+ }
1429
+ interface FlyMachineProcess {
1430
+ /**
1431
+ * Replaces the image's CMD for this process. It's appended to the entrypoint
1432
+ */
1433
+ cmd?: string[];
1434
+ /**
1435
+ * Replaces the image's ENTRYPOINT for this process
1436
+ */
1437
+ entrypoint?: string[];
1438
+ /**
1439
+ * Environment variables for this process, in addition to the Machine's `env`
1440
+ */
1441
+ env?: {
1442
+ [key: string]: string;
1443
+ };
1444
+ /**
1445
+ * EnvFrom can be provided to set environment variables from machine fields.
1446
+ */
1447
+ envFrom?: outputs.apps.v1.FlyEnvFrom[];
1448
+ /**
1449
+ * Command to run instead of the image's ENTRYPOINT and CMD. Takes precedence over entrypoint
1450
+ * and cmd
1451
+ */
1452
+ exec?: string[];
1453
+ /**
1454
+ * IgnoreAppSecrets can be set to true to ignore the secrets for the App the Machine belongs to
1455
+ * and only use the secrets provided at the process level. The default/legacy behavior is to use
1456
+ * the secrets provided at the App level.
1457
+ */
1458
+ ignoreAppSecrets?: boolean;
1459
+ /**
1460
+ * Secrets can be provided at the process level to explicitly indicate which secrets should be
1461
+ * used for the process. If not provided, the secrets provided at the machine level will be used.
1462
+ */
1463
+ secrets?: outputs.apps.v1.FlyMachineSecret[];
1464
+ /**
1465
+ * User to run the process as, instead of the image's USER
1466
+ */
1467
+ user?: string;
1468
+ }
1469
+ /**
1470
+ * A Secret needing to be set in the environment of the Machine. env_var is required
1471
+ */
1472
+ interface FlyMachineSecret {
1473
+ /**
1474
+ * EnvVar is required and is the name of the environment variable that will be set from the
1475
+ * secret. It must be a valid environment variable name.
1476
+ */
1477
+ envVar?: string;
1478
+ /**
1479
+ * Name is optional and when provided is used to reference a secret name where the EnvVar is
1480
+ * different from what was set as the secret name.
1481
+ */
1482
+ name?: string;
1483
+ }
1484
+ interface FlyMachineService {
1485
+ /**
1486
+ * Whether Fly Proxy starts stopped or suspended Machines when requests arrive. Defaults to true
1487
+ */
1488
+ autostart?: boolean;
1489
+ /**
1490
+ * Accepts a string (new format) or a boolean (old format). For backward compatibility with older clients, the API continues to use booleans for "off" and "stop" in responses.
1491
+ * * "off" or false - Do not autostop the Machine.
1492
+ * * "stop" or true - Automatically stop the Machine.
1493
+ * * "suspend" - Automatically suspend the Machine, falling back to a full stop if this is not possible.
1494
+ */
1495
+ autostop?: enums.apps.v1.FlyMachineServiceAutostop;
1496
+ /**
1497
+ * An optional list of service checks
1498
+ */
1499
+ checks?: outputs.apps.v1.FlyMachineServiceCheck[];
1500
+ /**
1501
+ * Load limits Fly Proxy uses to balance traffic across Machines
1502
+ */
1503
+ concurrency?: outputs.apps.v1.MachinesFlyMachineServiceConcurrency;
1504
+ /**
1505
+ * Currently has no effect
1506
+ */
1507
+ forceInstanceDescription?: string;
1508
+ /**
1509
+ * Currently has no effect
1510
+ */
1511
+ forceInstanceKey?: string;
1512
+ /**
1513
+ * Port in the Machine that Fly Proxy forwards traffic to. Defaults to 8080
1514
+ */
1515
+ internalPort?: number;
1516
+ /**
1517
+ * When autostop is on, the number of Machines Fly Proxy keeps running in the app's primary
1518
+ * region (`PRIMARY_REGION` env var). Machines in other regions can all be stopped
1519
+ */
1520
+ minMachinesRunning?: number;
1521
+ /**
1522
+ * Public ports that Fly Proxy accepts traffic on
1523
+ */
1524
+ ports?: outputs.apps.v1.FlyMachinePort[];
1525
+ /**
1526
+ * Protocol: tcp or udp. Defaults to tcp
1527
+ */
1528
+ protocol?: string;
1529
+ }
1530
+ interface FlyMachineServiceCheck {
1531
+ /**
1532
+ * The time to wait after a VM starts before checking its health
1533
+ */
1534
+ gracePeriod?: string;
1535
+ /**
1536
+ * For http checks, headers to send with the request
1537
+ */
1538
+ headers?: outputs.apps.v1.FlyMachineHTTPHeader[];
1539
+ /**
1540
+ * The time between connectivity checks
1541
+ */
1542
+ interval?: string;
1543
+ /**
1544
+ * For http checks, the HTTP method to use to when making the request
1545
+ */
1546
+ method?: string;
1547
+ /**
1548
+ * For http checks, the path to send the request to
1549
+ */
1550
+ path?: string;
1551
+ /**
1552
+ * The port to connect to, often the same as internal_port
1553
+ */
1554
+ port?: number;
1555
+ /**
1556
+ * For http checks, whether to use http or https
1557
+ */
1558
+ protocol?: string;
1559
+ /**
1560
+ * The maximum time a connection can take before being reported as failing its health check
1561
+ */
1562
+ timeout?: string;
1563
+ /**
1564
+ * If the protocol is https, the hostname to use for TLS certificate validation
1565
+ */
1566
+ tlsServerName?: string;
1567
+ /**
1568
+ * For http checks with https protocol, whether or not to verify the TLS certificate
1569
+ */
1570
+ tlsSkipVerify?: boolean;
1571
+ /**
1572
+ * tcp or http
1573
+ */
1574
+ type?: string;
1575
+ }
1576
+ interface FlyReplayCache {
1577
+ /**
1578
+ * Let clients skip the cache by sending the `fly-replay-cache-control: skip` header
1579
+ */
1580
+ allowBypass?: boolean;
1581
+ /**
1582
+ * Name of the cookie or header to key the cache on
1583
+ */
1584
+ name?: string;
1585
+ /**
1586
+ * Requests whose path starts with this prefix use the rule. May start with a hostname, e.g.
1587
+ * `example.com/api/*`
1588
+ */
1589
+ pathPrefix?: string;
1590
+ /**
1591
+ * How long a cached replay is used, in seconds
1592
+ */
1593
+ ttlSeconds?: number;
1594
+ /**
1595
+ * Currently either "cookie" or "header"
1596
+ */
1597
+ type?: enums.apps.v1.FlyReplayCacheType;
1598
+ }
1599
+ interface FlyStatic {
1600
+ /**
1601
+ * The path inside the Machine, or inside tigris_bucket when set, where the files to serve are located
1602
+ */
1603
+ guestPath: string;
1604
+ /**
1605
+ * The document served for requests to the URL prefix or any of its subfolders. Only works with tigris_bucket
1606
+ */
1607
+ indexDocument?: string;
1608
+ /**
1609
+ * An existing Tigris bucket belonging to the app to read the files from, instead of the Machine's
1610
+ * filesystem. The files are still served through the Machine
1611
+ */
1612
+ tigrisBucket?: string;
1613
+ /**
1614
+ * The URL prefix under which the files are served
1615
+ */
1616
+ urlPrefix: string;
1617
+ }
1618
+ interface IPAssignment {
1619
+ /**
1620
+ * When the address was assigned to the app, in RFC 3339 format. Null for the app's shared
1621
+ * IPv4 address.
1622
+ */
1623
+ createdAt?: string;
1624
+ /**
1625
+ * Whether this is an egress address, used for the app's outbound traffic rather than for
1626
+ * receiving requests.
1627
+ */
1628
+ egress?: boolean;
1629
+ /**
1630
+ * The IP address.
1631
+ */
1632
+ ip?: string;
1633
+ /**
1634
+ * The 6PN network a Flycast (private_v6) address belongs to. Null for all other IP types.
1635
+ */
1636
+ network?: outputs.apps.v1.IPAssignmentNetwork;
1637
+ /**
1638
+ * Region the address is scoped to, or `global` for addresses announced in all regions.
1639
+ * Empty for the app's shared IPv4 address.
1640
+ */
1641
+ region?: string;
1642
+ /**
1643
+ * Name of the service the address is scoped to, if any.
1644
+ */
1645
+ serviceName?: string;
1646
+ /**
1647
+ * Whether this is the app's shared IPv4 address, which other apps use too.
1648
+ */
1649
+ shared?: boolean;
1650
+ }
1651
+ /**
1652
+ * The 6PN network a Flycast (private_v6) address belongs to. Null for all other IP types.
1653
+ */
1654
+ interface IPAssignmentNetwork {
1655
+ /**
1656
+ * Network name; empty for the organization's default network.
1657
+ */
1658
+ name?: string;
1659
+ /**
1660
+ * Slug of the organization the network belongs to.
1661
+ */
1662
+ orgSlug?: string;
1663
+ }
1664
+ /**
1665
+ * Last known configuration, returned in place of `config` when the host could not be
1666
+ * reached (`host_status` is not `ok`) or when listing Machines with `summary=true`. It
1667
+ * comes from Fly.io's replicated state rather than the host, so it may be stale or lack
1668
+ * fields.
1669
+ */
1670
+ interface IncompleteConfig {
1671
+ /**
1672
+ * Optional boolean telling the Machine to destroy itself once it’s complete (default false)
1673
+ */
1674
+ autoDestroy?: boolean;
1675
+ /**
1676
+ * Beta: a cache drive attached to the Machine. This field may be removed in the future
1677
+ */
1678
+ cacheDrive?: outputs.apps.v1.FlyMachineConfigCacheDrive;
1679
+ /**
1680
+ * An optional object that defines one or more named top-level checks. The key for each check is the check name.
1681
+ */
1682
+ checks?: {
1683
+ [key: string]: outputs.apps.v1.FlyMachineConfigChecksProperties;
1684
+ };
1685
+ /**
1686
+ * Containers are a list of containers that will run in the machine, each from its own image.
1687
+ */
1688
+ containers?: outputs.apps.v1.FlyContainerConfig[];
1689
+ /**
1690
+ * Deprecated: use Service.Autostart instead
1691
+ */
1692
+ disableMachineAutostart?: boolean;
1693
+ /**
1694
+ * DNS settings for the Machine
1695
+ */
1696
+ dns?: outputs.apps.v1.FlyMachineConfigDns;
1697
+ /**
1698
+ * An object filled with key/value pairs to be set as environment variables
1699
+ */
1700
+ env?: {
1701
+ [key: string]: string;
1702
+ };
1703
+ /**
1704
+ * Files to write into the Machine, from either a raw value or an app secret
1705
+ */
1706
+ files?: outputs.apps.v1.FlyFile[];
1707
+ /**
1708
+ * The resources (CPUs, memory, etc.) allocated to the Machine
1709
+ */
1710
+ guest?: outputs.apps.v1.FlyMachineConfigGuest;
1711
+ /**
1712
+ * The docker image to run
1713
+ */
1714
+ image?: string;
1715
+ /**
1716
+ * Arguments for init, Fly.io's footprint inside the Machine, which controls how your own code is run
1717
+ */
1718
+ init?: outputs.apps.v1.FlyMachineConfigInit;
1719
+ /**
1720
+ * Key/value pairs of Machine metadata. Fly.io uses metadata internally for routing, process groups, and clusters
1721
+ */
1722
+ metadata?: {
1723
+ [key: string]: string;
1724
+ };
1725
+ /**
1726
+ * An optional metrics endpoint for Prometheus on Fly.io to scrape
1727
+ */
1728
+ metrics?: outputs.apps.v1.FlyMachineConfigMetrics;
1729
+ /**
1730
+ * Persistent volumes to mount in the Machine. A Machine can mount at most one volume, which must be on
1731
+ * the same host. The mounted volume cannot be changed by updating the Machine
1732
+ */
1733
+ mounts?: outputs.apps.v1.FlyMachineMount[];
1734
+ /**
1735
+ * Multiple processes to run within this one Machine, all from the Machine's image. Unrelated to the
1736
+ * process groups in fly.toml, which run on separate Machines. To run processes from different
1737
+ * images, use containers instead
1738
+ */
1739
+ processes?: outputs.apps.v1.FlyMachineProcess[];
1740
+ /**
1741
+ * Whether and how the Machine is restarted after its main process exits
1742
+ */
1743
+ restart?: outputs.apps.v1.FlyMachineConfigRestart;
1744
+ /**
1745
+ * Beta: the size of the Machine's root filesystem and whether it persists. This field may be
1746
+ * removed in the future
1747
+ */
1748
+ rootfs?: outputs.apps.v1.FlyMachineConfigRootfs;
1749
+ /**
1750
+ * Run the Machine at an interval: one of hourly, daily, weekly or monthly. The interval starts when
1751
+ * the Machine is created
1752
+ */
1753
+ schedule?: string;
1754
+ /**
1755
+ * Network services that Fly Proxy routes traffic to
1756
+ */
1757
+ services?: outputs.apps.v1.FlyMachineService[];
1758
+ /**
1759
+ * Deprecated: use Guest instead
1760
+ */
1761
+ size?: string;
1762
+ /**
1763
+ * Spot pricing settings for the Machine
1764
+ */
1765
+ spot?: outputs.apps.v1.FlyMachineConfigSpot;
1766
+ /**
1767
+ * Standbys enable a machine to be a standby for another. In the event of a hardware failure,
1768
+ * the standby machine will be started.
1769
+ */
1770
+ standbys?: string[];
1771
+ /**
1772
+ * Static files to serve under a URL prefix. Fly Proxy routes matching requests to a file server
1773
+ * inside the Machine, bypassing your application's own process; the Machine must be running. The
1774
+ * files are read either from a path inside the Machine or from a Tigris bucket that belongs to the
1775
+ * app; no bucket is created for you
1776
+ */
1777
+ statics?: outputs.apps.v1.FlyStatic[];
1778
+ /**
1779
+ * How the Machine is shut down gracefully: the signal sent to it and how long to wait before a hard shutdown
1780
+ */
1781
+ stopConfig?: outputs.apps.v1.FlyMachineConfigStopConfig;
1782
+ }
1783
+ /**
1784
+ * The allocated IPv4 and IPv6 addresses when the `egress_pair` type was requested; null
1785
+ * otherwise.
1786
+ */
1787
+ interface IpPair {
1788
+ /**
1789
+ * The egress IPv4 address.
1790
+ */
1791
+ v4?: string;
1792
+ /**
1793
+ * The egress IPv6 address.
1794
+ */
1795
+ v6?: string;
1796
+ }
1797
+ interface IssuedCertificate {
1798
+ /**
1799
+ * The certificate authority that issued the certificate.
1800
+ */
1801
+ certificateAuthority?: string;
1802
+ /**
1803
+ * When the certificate expires.
1804
+ */
1805
+ expiresAt?: string;
1806
+ /**
1807
+ * Key type of the certificate.
1808
+ */
1809
+ type?: enums.apps.v1.IssuedCertificateType;
1810
+ }
1811
+ /**
1812
+ * The lease.
1813
+ */
1814
+ interface LeaseResponseData {
1815
+ /**
1816
+ * Description or reason for the lease.
1817
+ */
1818
+ description?: string;
1819
+ /**
1820
+ * When the lease expires, in Unix seconds.
1821
+ */
1822
+ expiresAt?: number;
1823
+ /**
1824
+ * Unique ID generated for the lease. Pass it in the `fly-machine-lease-nonce` header to
1825
+ * act on the leased Machine, refresh the lease, or release it.
1826
+ */
1827
+ nonce?: string;
1828
+ /**
1829
+ * Email address of the user who acquired the lease.
1830
+ */
1831
+ owner?: string;
1832
+ /**
1833
+ * ID of the Machine's version at the time of the request.
1834
+ */
1835
+ version?: string;
1836
+ }
1837
+ interface ListenSocket {
1838
+ /**
1839
+ * Local address and port the socket is bound to, such as `0.0.0.0:8080` or `[::]:8080`.
1840
+ */
1841
+ address?: string;
1842
+ /**
1843
+ * Protocol of the socket. Always `tcp`.
1844
+ */
1845
+ proto?: string;
1846
+ }
1847
+ interface Machine {
1848
+ /**
1849
+ * Status of each health check: the Machine's top-level `checks` and its services'
1850
+ * checks.
1851
+ */
1852
+ checks?: outputs.apps.v1.CheckStatus[];
1853
+ /**
1854
+ * The Machine's configuration, as provided when it was created or last updated, with
1855
+ * `metadata` and `mounts` reflecting their current values. Null when the host is not
1856
+ * reachable (`host_status` is not `ok`) or `summary=true` was requested; see
1857
+ * `incomplete_config`.
1858
+ */
1859
+ config?: outputs.apps.v1.MachineConfig;
1860
+ /**
1861
+ * Whether the Machine is cordoned, meaning Fly Proxy does not route requests to it. See
1862
+ * the Cordon Machine endpoint.
1863
+ */
1864
+ cordoned?: boolean;
1865
+ /**
1866
+ * When the Machine was created.
1867
+ */
1868
+ createdAt?: string;
1869
+ /**
1870
+ * Up to 5 of the most recent events of the current Machine version, newest first. Use
1871
+ * the List Events endpoint for more.
1872
+ */
1873
+ events?: outputs.apps.v1.MachineEvent[];
1874
+ /**
1875
+ * Features of the Machine's host, for comparison with `config.guest.required_host_features`.
1876
+ * Only returned when the request sets the `fly-include-host-features: true` header.
1877
+ */
1878
+ hostFeatures?: string[];
1879
+ /**
1880
+ * Whether Fly.io could reach the Machine's host: `ok` if it could, `unreachable` if it
1881
+ * could not, in which case the response is built from last known state. `unknown` if the
1882
+ * host's status was not reported.
1883
+ */
1884
+ hostStatus?: enums.apps.v1.MachineHostStatus;
1885
+ /**
1886
+ * Unique ID of the Machine.
1887
+ */
1888
+ id?: string;
1889
+ /**
1890
+ * The image the Machine runs, as resolved when it was last created or updated.
1891
+ */
1892
+ imageRef?: outputs.apps.v1.MachineImageRef;
1893
+ /**
1894
+ * Last known configuration, returned in place of `config` when the host could not be
1895
+ * reached (`host_status` is not `ok`) or when listing Machines with `summary=true`. It
1896
+ * comes from Fly.io's replicated state rather than the host, so it may be stale or lack
1897
+ * fields.
1898
+ */
1899
+ incompleteConfig?: outputs.apps.v1.MachineIncompleteConfig;
1900
+ /**
1901
+ * Same value as `version`.
1902
+ *
1903
+ * Deprecated: use `version`.
1904
+ */
1905
+ instanceId?: string;
1906
+ /**
1907
+ * The lease currently held on the Machine. Only returned when `include_leases=true`
1908
+ * was requested and a lease is held.
1909
+ */
1910
+ lease?: outputs.apps.v1.MachineLease;
1911
+ /**
1912
+ * Name of the Machine. Generated when not provided at creation. Names are not required
1913
+ * to be unique.
994
1914
  */
995
1915
  name?: string;
996
- orgSlug?: string;
1916
+ /**
1917
+ * Nonce of the lease acquired on the Machine at creation. Only returned when creating a
1918
+ * Machine with `lease_ttl` set. Pass it in the `fly-machine-lease-nonce` header to act on
1919
+ * the Machine while the lease is held.
1920
+ */
1921
+ nonce?: string;
1922
+ /**
1923
+ * The Machine's address on the organization's private (6PN) IPv6 network.
1924
+ */
1925
+ privateIp?: string;
1926
+ /**
1927
+ * Code of the region the Machine runs in, such as `iad`.
1928
+ */
1929
+ region?: string;
1930
+ /**
1931
+ * Current state of the Machine, taken from the status of its most recent event. One of
1932
+ * `created`, `starting`, `started`, `stopping`, `stopped`, `suspending`, `suspended`,
1933
+ * `replacing`, `replaced`, `destroying`, `destroyed`, `failed`, `migrating`, `migrated`,
1934
+ * `archived`, or `pending`. See https://fly.io/docs/machines/machine-states/.
1935
+ */
1936
+ state?: string;
1937
+ /**
1938
+ * Time of the Machine's most recent event, truncated to whole seconds. The zero time
1939
+ * (0001-01-01T00:00:00Z) if the host could not be reached. With `summary=true`, the time
1940
+ * Fly.io last recorded a change to the Machine.
1941
+ */
1942
+ updatedAt?: string;
1943
+ /**
1944
+ * Unique ID of this version of the Machine. Every update creates a new version. Pass it
1945
+ * as `current_version` when updating the Machine to reject the update if the Machine has
1946
+ * changed since this version.
1947
+ */
1948
+ version?: string;
1949
+ }
1950
+ /**
1951
+ * The Machine's configuration, as provided when it was created or last updated, with
1952
+ * `metadata` and `mounts` reflecting their current values. Null when the host is not
1953
+ * reachable (`host_status` is not `ok`) or `summary=true` was requested; see
1954
+ * `incomplete_config`.
1955
+ */
1956
+ interface MachineConfig {
1957
+ /**
1958
+ * Optional boolean telling the Machine to destroy itself once it’s complete (default false)
1959
+ */
1960
+ autoDestroy?: boolean;
1961
+ /**
1962
+ * Beta: a cache drive attached to the Machine. This field may be removed in the future
1963
+ */
1964
+ cacheDrive?: outputs.apps.v1.FlyMachineConfigCacheDrive;
1965
+ /**
1966
+ * An optional object that defines one or more named top-level checks. The key for each check is the check name.
1967
+ */
1968
+ checks?: {
1969
+ [key: string]: outputs.apps.v1.FlyMachineConfigChecksProperties;
1970
+ };
1971
+ /**
1972
+ * Containers are a list of containers that will run in the machine, each from its own image.
1973
+ */
1974
+ containers?: outputs.apps.v1.FlyContainerConfig[];
1975
+ /**
1976
+ * Deprecated: use Service.Autostart instead
1977
+ */
1978
+ disableMachineAutostart?: boolean;
1979
+ /**
1980
+ * DNS settings for the Machine
1981
+ */
1982
+ dns?: outputs.apps.v1.FlyMachineConfigDns;
1983
+ /**
1984
+ * An object filled with key/value pairs to be set as environment variables
1985
+ */
1986
+ env?: {
1987
+ [key: string]: string;
1988
+ };
1989
+ /**
1990
+ * Files to write into the Machine, from either a raw value or an app secret
1991
+ */
1992
+ files?: outputs.apps.v1.FlyFile[];
1993
+ /**
1994
+ * The resources (CPUs, memory, etc.) allocated to the Machine
1995
+ */
1996
+ guest?: outputs.apps.v1.FlyMachineConfigGuest;
1997
+ /**
1998
+ * The docker image to run
1999
+ */
2000
+ image?: string;
2001
+ /**
2002
+ * Arguments for init, Fly.io's footprint inside the Machine, which controls how your own code is run
2003
+ */
2004
+ init?: outputs.apps.v1.FlyMachineConfigInit;
2005
+ /**
2006
+ * Key/value pairs of Machine metadata. Fly.io uses metadata internally for routing, process groups, and clusters
2007
+ */
2008
+ metadata?: {
2009
+ [key: string]: string;
2010
+ };
2011
+ /**
2012
+ * An optional metrics endpoint for Prometheus on Fly.io to scrape
2013
+ */
2014
+ metrics?: outputs.apps.v1.FlyMachineConfigMetrics;
2015
+ /**
2016
+ * Persistent volumes to mount in the Machine. A Machine can mount at most one volume, which must be on
2017
+ * the same host. The mounted volume cannot be changed by updating the Machine
2018
+ */
2019
+ mounts?: outputs.apps.v1.FlyMachineMount[];
2020
+ /**
2021
+ * Multiple processes to run within this one Machine, all from the Machine's image. Unrelated to the
2022
+ * process groups in fly.toml, which run on separate Machines. To run processes from different
2023
+ * images, use containers instead
2024
+ */
2025
+ processes?: outputs.apps.v1.FlyMachineProcess[];
2026
+ /**
2027
+ * Whether and how the Machine is restarted after its main process exits
2028
+ */
2029
+ restart?: outputs.apps.v1.FlyMachineConfigRestart;
2030
+ /**
2031
+ * Beta: the size of the Machine's root filesystem and whether it persists. This field may be
2032
+ * removed in the future
2033
+ */
2034
+ rootfs?: outputs.apps.v1.FlyMachineConfigRootfs;
2035
+ /**
2036
+ * Run the Machine at an interval: one of hourly, daily, weekly or monthly. The interval starts when
2037
+ * the Machine is created
2038
+ */
2039
+ schedule?: string;
2040
+ /**
2041
+ * Network services that Fly Proxy routes traffic to
2042
+ */
2043
+ services?: outputs.apps.v1.FlyMachineService[];
2044
+ /**
2045
+ * Deprecated: use Guest instead
2046
+ */
2047
+ size?: string;
2048
+ /**
2049
+ * Spot pricing settings for the Machine
2050
+ */
2051
+ spot?: outputs.apps.v1.FlyMachineConfigSpot;
2052
+ /**
2053
+ * Standbys enable a machine to be a standby for another. In the event of a hardware failure,
2054
+ * the standby machine will be started.
2055
+ */
2056
+ standbys?: string[];
2057
+ /**
2058
+ * Static files to serve under a URL prefix. Fly Proxy routes matching requests to a file server
2059
+ * inside the Machine, bypassing your application's own process; the Machine must be running. The
2060
+ * files are read either from a path inside the Machine or from a Tigris bucket that belongs to the
2061
+ * app; no bucket is created for you
2062
+ */
2063
+ statics?: outputs.apps.v1.FlyStatic[];
2064
+ /**
2065
+ * How the Machine is shut down gracefully: the signal sent to it and how long to wait before a hard shutdown
2066
+ */
2067
+ stopConfig?: outputs.apps.v1.FlyMachineConfigStopConfig;
2068
+ }
2069
+ /**
2070
+ * Query params for the API request.
2071
+ */
2072
+ interface MachineCreateQueryParams {
2073
+ /**
2074
+ * Additional query params to send with the request that are not defined in the API spec.
2075
+ */
2076
+ additionalParams?: {
2077
+ [key: string]: string;
2078
+ };
2079
+ }
2080
+ /**
2081
+ * Query params for the API request.
2082
+ */
2083
+ interface MachineDeleteQueryParams {
2084
+ /**
2085
+ * Additional query params to send with the request that are not defined in the API spec.
2086
+ */
2087
+ additionalParams?: {
2088
+ [key: string]: string;
2089
+ };
2090
+ /**
2091
+ * Kill the Machine first if it's not stopped, suspended, failed, pending or archived
2092
+ */
2093
+ force?: boolean;
2094
+ }
2095
+ interface MachineEvent {
2096
+ /**
2097
+ * Unique ID of the event (a ULID).
2098
+ */
2099
+ id?: string;
2100
+ /**
2101
+ * Details that depend on the event type. For example, `exit` events carry the exit
2102
+ * code and whether the process was killed for running out of memory, and `update`
2103
+ * events carry the new version.
2104
+ */
2105
+ request?: any;
2106
+ /**
2107
+ * Who triggered the event: `user` for requests to this API, `flyd` for the host's
2108
+ * Machine manager acting on its own (for example when a Machine exits or restarts), or
2109
+ * `proxy` for Fly Proxy starting and stopping Machines.
2110
+ */
2111
+ source?: string;
2112
+ /**
2113
+ * The state the Machine moved to with this event, such as `created`, `started`, or
2114
+ * `stopped`. The Machine's `state` is the status of its latest event.
2115
+ */
2116
+ status?: string;
2117
+ /**
2118
+ * When the event happened, in Unix milliseconds.
2119
+ */
2120
+ timestamp?: number;
2121
+ /**
2122
+ * What happened, such as `launch`, `start`, `stop`, `exit`, `restart`, `update`,
2123
+ * `suspension`, `cancel_suspension`, `migration`, `metadata_update`, `archive`, or
2124
+ * `destroy`.
2125
+ */
2126
+ type?: string;
997
2127
  }
998
- interface ImageRef {
2128
+ /**
2129
+ * The image the Machine runs, as resolved when it was last created or updated.
2130
+ */
2131
+ interface MachineImageRef {
2132
+ /**
2133
+ * Content digest of the image (`sha256:...`).
2134
+ */
999
2135
  digest?: string;
2136
+ /**
2137
+ * The image's OCI labels.
2138
+ */
1000
2139
  labels?: {
1001
2140
  [key: string]: string;
1002
2141
  };
1003
- registry?: string;
1004
- repository?: string;
1005
- tag?: string;
2142
+ /**
2143
+ * Registry host of the image, such as `registry.fly.io`.
2144
+ */
2145
+ registry?: string;
2146
+ /**
2147
+ * Repository of the image within the registry, such as `library/nginx`.
2148
+ */
2149
+ repository?: string;
2150
+ /**
2151
+ * Tag the image was referenced by, if any.
2152
+ */
2153
+ tag?: string;
2154
+ }
2155
+ /**
2156
+ * Last known configuration, returned in place of `config` when the host could not be
2157
+ * reached (`host_status` is not `ok`) or when listing Machines with `summary=true`. It
2158
+ * comes from Fly.io's replicated state rather than the host, so it may be stale or lack
2159
+ * fields.
2160
+ */
2161
+ interface MachineIncompleteConfig {
2162
+ /**
2163
+ * Optional boolean telling the Machine to destroy itself once it’s complete (default false)
2164
+ */
2165
+ autoDestroy?: boolean;
2166
+ /**
2167
+ * Beta: a cache drive attached to the Machine. This field may be removed in the future
2168
+ */
2169
+ cacheDrive?: outputs.apps.v1.FlyMachineConfigCacheDrive;
2170
+ /**
2171
+ * An optional object that defines one or more named top-level checks. The key for each check is the check name.
2172
+ */
2173
+ checks?: {
2174
+ [key: string]: outputs.apps.v1.FlyMachineConfigChecksProperties;
2175
+ };
2176
+ /**
2177
+ * Containers are a list of containers that will run in the machine, each from its own image.
2178
+ */
2179
+ containers?: outputs.apps.v1.FlyContainerConfig[];
2180
+ /**
2181
+ * Deprecated: use Service.Autostart instead
2182
+ */
2183
+ disableMachineAutostart?: boolean;
2184
+ /**
2185
+ * DNS settings for the Machine
2186
+ */
2187
+ dns?: outputs.apps.v1.FlyMachineConfigDns;
2188
+ /**
2189
+ * An object filled with key/value pairs to be set as environment variables
2190
+ */
2191
+ env?: {
2192
+ [key: string]: string;
2193
+ };
2194
+ /**
2195
+ * Files to write into the Machine, from either a raw value or an app secret
2196
+ */
2197
+ files?: outputs.apps.v1.FlyFile[];
2198
+ /**
2199
+ * The resources (CPUs, memory, etc.) allocated to the Machine
2200
+ */
2201
+ guest?: outputs.apps.v1.FlyMachineConfigGuest;
2202
+ /**
2203
+ * The docker image to run
2204
+ */
2205
+ image?: string;
2206
+ /**
2207
+ * Arguments for init, Fly.io's footprint inside the Machine, which controls how your own code is run
2208
+ */
2209
+ init?: outputs.apps.v1.FlyMachineConfigInit;
2210
+ /**
2211
+ * Key/value pairs of Machine metadata. Fly.io uses metadata internally for routing, process groups, and clusters
2212
+ */
2213
+ metadata?: {
2214
+ [key: string]: string;
2215
+ };
2216
+ /**
2217
+ * An optional metrics endpoint for Prometheus on Fly.io to scrape
2218
+ */
2219
+ metrics?: outputs.apps.v1.FlyMachineConfigMetrics;
2220
+ /**
2221
+ * Persistent volumes to mount in the Machine. A Machine can mount at most one volume, which must be on
2222
+ * the same host. The mounted volume cannot be changed by updating the Machine
2223
+ */
2224
+ mounts?: outputs.apps.v1.FlyMachineMount[];
2225
+ /**
2226
+ * Multiple processes to run within this one Machine, all from the Machine's image. Unrelated to the
2227
+ * process groups in fly.toml, which run on separate Machines. To run processes from different
2228
+ * images, use containers instead
2229
+ */
2230
+ processes?: outputs.apps.v1.FlyMachineProcess[];
2231
+ /**
2232
+ * Whether and how the Machine is restarted after its main process exits
2233
+ */
2234
+ restart?: outputs.apps.v1.FlyMachineConfigRestart;
2235
+ /**
2236
+ * Beta: the size of the Machine's root filesystem and whether it persists. This field may be
2237
+ * removed in the future
2238
+ */
2239
+ rootfs?: outputs.apps.v1.FlyMachineConfigRootfs;
2240
+ /**
2241
+ * Run the Machine at an interval: one of hourly, daily, weekly or monthly. The interval starts when
2242
+ * the Machine is created
2243
+ */
2244
+ schedule?: string;
2245
+ /**
2246
+ * Network services that Fly Proxy routes traffic to
2247
+ */
2248
+ services?: outputs.apps.v1.FlyMachineService[];
2249
+ /**
2250
+ * Deprecated: use Guest instead
2251
+ */
2252
+ size?: string;
2253
+ /**
2254
+ * Spot pricing settings for the Machine
2255
+ */
2256
+ spot?: outputs.apps.v1.FlyMachineConfigSpot;
2257
+ /**
2258
+ * Standbys enable a machine to be a standby for another. In the event of a hardware failure,
2259
+ * the standby machine will be started.
2260
+ */
2261
+ standbys?: string[];
2262
+ /**
2263
+ * Static files to serve under a URL prefix. Fly Proxy routes matching requests to a file server
2264
+ * inside the Machine, bypassing your application's own process; the Machine must be running. The
2265
+ * files are read either from a path inside the Machine or from a Tigris bucket that belongs to the
2266
+ * app; no bucket is created for you
2267
+ */
2268
+ statics?: outputs.apps.v1.FlyStatic[];
2269
+ /**
2270
+ * How the Machine is shut down gracefully: the signal sent to it and how long to wait before a hard shutdown
2271
+ */
2272
+ stopConfig?: outputs.apps.v1.FlyMachineConfigStopConfig;
1006
2273
  }
1007
2274
  /**
1008
- * ip_pair is returned when "egress-pair" IP type is requested; in this case, ip is null.
2275
+ * The lease currently held on the Machine. Only returned when `include_leases=true`
2276
+ * was requested and a lease is held.
1009
2277
  */
1010
- interface IpPair {
1011
- v4?: string;
1012
- v6?: string;
1013
- }
1014
- interface IssuedCertificate {
1015
- certificateAuthority?: string;
1016
- expiresAt?: string;
1017
- type?: enums.apps.v1.IssuedCertificateType;
1018
- }
1019
- interface ListenSocket {
1020
- address?: string;
1021
- proto?: string;
1022
- }
1023
- interface Machine {
1024
- checks?: outputs.apps.v1.CheckStatus[];
1025
- config?: outputs.apps.v1.FlyMachineConfig;
1026
- cordoned?: boolean;
1027
- createdAt?: string;
1028
- events?: outputs.apps.v1.MachineEvent[];
1029
- hostFeatures?: string[];
1030
- hostStatus?: enums.apps.v1.MachineHostStatus;
1031
- id?: string;
1032
- imageRef?: outputs.apps.v1.ImageRef;
1033
- incompleteConfig?: outputs.apps.v1.FlyMachineConfig;
1034
- /**
1035
- * InstanceID is the same value as `version`.
1036
- *
1037
- * Deprecated: use `version`.
1038
- */
1039
- instanceId?: string;
1040
- lease?: outputs.apps.v1.StrippedLease;
1041
- name?: string;
2278
+ interface MachineLease {
1042
2279
  /**
1043
- * Nonce is only every returned on machine creation if a lease_duration was provided.
2280
+ * Description given when the lease was acquired.
1044
2281
  */
1045
- nonce?: string;
2282
+ description?: string;
1046
2283
  /**
1047
- * PrivateIP is the internal 6PN address of the machine.
2284
+ * When the lease expires, in Unix seconds.
1048
2285
  */
1049
- privateIp?: string;
1050
- region?: string;
1051
- state?: string;
1052
- updatedAt?: string;
2286
+ expiresAt?: number;
1053
2287
  /**
1054
- * Version is unique for each version of the machine. Pass it as
1055
- * `current_version` when updating the Machine to reject the update if the
1056
- * Machine has changed since this version.
2288
+ * Email address of the user who acquired the lease.
1057
2289
  */
1058
- version?: string;
2290
+ owner?: string;
1059
2291
  }
1060
2292
  /**
1061
2293
  * Query params for the API request.
1062
2294
  */
1063
- interface MachineCreateQueryParams {
2295
+ interface MachinePutQueryParams {
1064
2296
  /**
1065
2297
  * Additional query params to send with the request that are not defined in the API spec.
1066
2298
  */
@@ -1069,82 +2301,170 @@ export declare namespace apps {
1069
2301
  };
1070
2302
  }
1071
2303
  /**
1072
- * Query params for the API request.
2304
+ * Query params for each of the operations of the resource.
1073
2305
  */
1074
- interface MachineDeleteQueryParams {
2306
+ interface MachineQueryParams {
1075
2307
  /**
1076
- * Additional query params to send with the request that are not defined in the API spec.
2308
+ * Query params for the create operation.
1077
2309
  */
1078
- additionalParams?: {
1079
- [key: string]: string;
1080
- };
2310
+ create?: outputs.apps.v1.MachineCreateQueryParams;
1081
2311
  /**
1082
- * Kill the Machine first if it's not stopped, suspended, failed, pending or archived
2312
+ * Query params for the delete operation.
1083
2313
  */
1084
- force?: boolean;
1085
- }
1086
- interface MachineEvent {
1087
- id?: string;
1088
- request?: any;
1089
- source?: string;
1090
- status?: string;
1091
- timestamp?: number;
1092
- type?: string;
2314
+ delete?: outputs.apps.v1.MachineDeleteQueryParams;
2315
+ /**
2316
+ * Query params for the put operation.
2317
+ */
2318
+ put?: outputs.apps.v1.MachinePutQueryParams;
2319
+ /**
2320
+ * Query params for the read operation.
2321
+ */
2322
+ read?: outputs.apps.v1.MachineReadQueryParams;
1093
2323
  }
1094
2324
  /**
1095
2325
  * Query params for the API request.
1096
2326
  */
1097
- interface MachinePutQueryParams {
2327
+ interface MachineReadQueryParams {
1098
2328
  /**
1099
2329
  * Additional query params to send with the request that are not defined in the API spec.
1100
2330
  */
1101
2331
  additionalParams?: {
1102
2332
  [key: string]: string;
1103
2333
  };
2334
+ /**
2335
+ * Include machine lease
2336
+ */
2337
+ includeLeases?: boolean;
2338
+ /**
2339
+ * 26-character Machine version ID; returns that version of the Machine instead of the current one
2340
+ */
2341
+ version?: string;
2342
+ }
2343
+ interface MachineVersion {
2344
+ /**
2345
+ * The configuration of that version, as provided by the create or update request.
2346
+ */
2347
+ userConfig?: outputs.apps.v1.MachineVersionUserConfig;
2348
+ /**
2349
+ * ID of the Machine version.
2350
+ */
2351
+ version?: string;
1104
2352
  }
1105
2353
  /**
1106
- * Query params for each of the operations of the resource.
2354
+ * The configuration of that version, as provided by the create or update request.
1107
2355
  */
1108
- interface MachineQueryParams {
2356
+ interface MachineVersionUserConfig {
2357
+ /**
2358
+ * Optional boolean telling the Machine to destroy itself once it’s complete (default false)
2359
+ */
2360
+ autoDestroy?: boolean;
2361
+ /**
2362
+ * Beta: a cache drive attached to the Machine. This field may be removed in the future
2363
+ */
2364
+ cacheDrive?: outputs.apps.v1.FlyMachineConfigCacheDrive;
2365
+ /**
2366
+ * An optional object that defines one or more named top-level checks. The key for each check is the check name.
2367
+ */
2368
+ checks?: {
2369
+ [key: string]: outputs.apps.v1.FlyMachineConfigChecksProperties;
2370
+ };
2371
+ /**
2372
+ * Containers are a list of containers that will run in the machine, each from its own image.
2373
+ */
2374
+ containers?: outputs.apps.v1.FlyContainerConfig[];
2375
+ /**
2376
+ * Deprecated: use Service.Autostart instead
2377
+ */
2378
+ disableMachineAutostart?: boolean;
2379
+ /**
2380
+ * DNS settings for the Machine
2381
+ */
2382
+ dns?: outputs.apps.v1.FlyMachineConfigDns;
2383
+ /**
2384
+ * An object filled with key/value pairs to be set as environment variables
2385
+ */
2386
+ env?: {
2387
+ [key: string]: string;
2388
+ };
2389
+ /**
2390
+ * Files to write into the Machine, from either a raw value or an app secret
2391
+ */
2392
+ files?: outputs.apps.v1.FlyFile[];
2393
+ /**
2394
+ * The resources (CPUs, memory, etc.) allocated to the Machine
2395
+ */
2396
+ guest?: outputs.apps.v1.FlyMachineConfigGuest;
2397
+ /**
2398
+ * The docker image to run
2399
+ */
2400
+ image?: string;
2401
+ /**
2402
+ * Arguments for init, Fly.io's footprint inside the Machine, which controls how your own code is run
2403
+ */
2404
+ init?: outputs.apps.v1.FlyMachineConfigInit;
2405
+ /**
2406
+ * Key/value pairs of Machine metadata. Fly.io uses metadata internally for routing, process groups, and clusters
2407
+ */
2408
+ metadata?: {
2409
+ [key: string]: string;
2410
+ };
2411
+ /**
2412
+ * An optional metrics endpoint for Prometheus on Fly.io to scrape
2413
+ */
2414
+ metrics?: outputs.apps.v1.FlyMachineConfigMetrics;
2415
+ /**
2416
+ * Persistent volumes to mount in the Machine. A Machine can mount at most one volume, which must be on
2417
+ * the same host. The mounted volume cannot be changed by updating the Machine
2418
+ */
2419
+ mounts?: outputs.apps.v1.FlyMachineMount[];
2420
+ /**
2421
+ * Multiple processes to run within this one Machine, all from the Machine's image. Unrelated to the
2422
+ * process groups in fly.toml, which run on separate Machines. To run processes from different
2423
+ * images, use containers instead
2424
+ */
2425
+ processes?: outputs.apps.v1.FlyMachineProcess[];
2426
+ /**
2427
+ * Whether and how the Machine is restarted after its main process exits
2428
+ */
2429
+ restart?: outputs.apps.v1.FlyMachineConfigRestart;
2430
+ /**
2431
+ * Beta: the size of the Machine's root filesystem and whether it persists. This field may be
2432
+ * removed in the future
2433
+ */
2434
+ rootfs?: outputs.apps.v1.FlyMachineConfigRootfs;
1109
2435
  /**
1110
- * Query params for the create operation.
2436
+ * Run the Machine at an interval: one of hourly, daily, weekly or monthly. The interval starts when
2437
+ * the Machine is created
1111
2438
  */
1112
- create?: outputs.apps.v1.MachineCreateQueryParams;
2439
+ schedule?: string;
1113
2440
  /**
1114
- * Query params for the delete operation.
2441
+ * Network services that Fly Proxy routes traffic to
1115
2442
  */
1116
- delete?: outputs.apps.v1.MachineDeleteQueryParams;
2443
+ services?: outputs.apps.v1.FlyMachineService[];
1117
2444
  /**
1118
- * Query params for the put operation.
2445
+ * Deprecated: use Guest instead
1119
2446
  */
1120
- put?: outputs.apps.v1.MachinePutQueryParams;
2447
+ size?: string;
1121
2448
  /**
1122
- * Query params for the read operation.
2449
+ * Spot pricing settings for the Machine
1123
2450
  */
1124
- read?: outputs.apps.v1.MachineReadQueryParams;
1125
- }
1126
- /**
1127
- * Query params for the API request.
1128
- */
1129
- interface MachineReadQueryParams {
2451
+ spot?: outputs.apps.v1.FlyMachineConfigSpot;
1130
2452
  /**
1131
- * Additional query params to send with the request that are not defined in the API spec.
2453
+ * Standbys enable a machine to be a standby for another. In the event of a hardware failure,
2454
+ * the standby machine will be started.
1132
2455
  */
1133
- additionalParams?: {
1134
- [key: string]: string;
1135
- };
2456
+ standbys?: string[];
1136
2457
  /**
1137
- * Include machine lease
2458
+ * Static files to serve under a URL prefix. Fly Proxy routes matching requests to a file server
2459
+ * inside the Machine, bypassing your application's own process; the Machine must be running. The
2460
+ * files are read either from a path inside the Machine or from a Tigris bucket that belongs to the
2461
+ * app; no bucket is created for you
1138
2462
  */
1139
- includeLeases?: boolean;
2463
+ statics?: outputs.apps.v1.FlyStatic[];
1140
2464
  /**
1141
- * 26-character Machine version ID; returns that version of the Machine instead of the current one
2465
+ * How the Machine is shut down gracefully: the signal sent to it and how long to wait before a hard shutdown
1142
2466
  */
1143
- version?: string;
1144
- }
1145
- interface MachineVersion {
1146
- userConfig?: outputs.apps.v1.FlyMachineConfig;
1147
- version?: string;
2467
+ stopConfig?: outputs.apps.v1.FlyMachineConfigStopConfig;
1148
2468
  }
1149
2469
  /**
1150
2470
  * Query params for the API request.
@@ -1186,6 +2506,25 @@ export declare namespace apps {
1186
2506
  */
1187
2507
  create?: outputs.apps.v1.MachinesExecCreateQueryParams;
1188
2508
  }
2509
+ /**
2510
+ * Load limits Fly Proxy uses to balance traffic across Machines
2511
+ */
2512
+ interface MachinesFlyMachineServiceConcurrency {
2513
+ /**
2514
+ * Fly Proxy sends no more than this many connections or requests to a Machine at once. 0 means
2515
+ * no hard limit
2516
+ */
2517
+ hardLimit?: number;
2518
+ /**
2519
+ * Above this many connections or requests, Fly Proxy prefers other Machines. Defaults to 20,
2520
+ * and is lowered to hard_limit if higher
2521
+ */
2522
+ softLimit?: number;
2523
+ /**
2524
+ * What to count: `connections` (default) or `requests`
2525
+ */
2526
+ type?: string;
2527
+ }
1189
2528
  /**
1190
2529
  * Query params for the API request.
1191
2530
  */
@@ -1196,6 +2535,10 @@ export declare namespace apps {
1196
2535
  additionalParams?: {
1197
2536
  [key: string]: string;
1198
2537
  };
2538
+ /**
2539
+ * How long the lease is valid, in seconds. Overridden by ttl in the request body.
2540
+ */
2541
+ ttl?: number;
1199
2542
  }
1200
2543
  /**
1201
2544
  * Query params for each of the operations of the resource.
@@ -1504,19 +2847,39 @@ export declare namespace apps {
1504
2847
  */
1505
2848
  create?: outputs.apps.v1.MachinesUncordonCreateQueryParams;
1506
2849
  }
1507
- interface OwnershipVerification {
1508
- appValue?: string;
1509
- name?: string;
1510
- orgValue?: string;
1511
- }
1512
2850
  interface ProcessStat {
2851
+ /**
2852
+ * The process's command line, with arguments separated by spaces.
2853
+ */
1513
2854
  command?: string;
2855
+ /**
2856
+ * Average CPU usage over the process's lifetime, in percent of one CPU. May exceed 100
2857
+ * on Machines with more than one CPU.
2858
+ */
1514
2859
  cpu?: number;
2860
+ /**
2861
+ * The process's working directory.
2862
+ */
1515
2863
  directory?: string;
2864
+ /**
2865
+ * TCP sockets the process is listening on.
2866
+ */
1516
2867
  listenSockets?: outputs.apps.v1.ListenSocket[];
2868
+ /**
2869
+ * Process ID inside the Machine.
2870
+ */
1517
2871
  pid?: number;
2872
+ /**
2873
+ * Resident set size: the physical memory the process uses, in bytes.
2874
+ */
1518
2875
  rss?: number;
2876
+ /**
2877
+ * How long the process has been running, in seconds.
2878
+ */
1519
2879
  rtime?: number;
2880
+ /**
2881
+ * When the process started, in seconds since the Machine booted.
2882
+ */
1520
2883
  stime?: number;
1521
2884
  }
1522
2885
  /**
@@ -1542,10 +2905,25 @@ export declare namespace apps {
1542
2905
  };
1543
2906
  }
1544
2907
  interface SecretKey {
2908
+ /**
2909
+ * When the key was first set.
2910
+ */
1545
2911
  createdAt?: string;
2912
+ /**
2913
+ * Name of the secret key.
2914
+ */
1546
2915
  name?: string;
1547
- publicKey?: number[];
2916
+ /**
2917
+ * Public key of asymmetric keys (`nacl_box`, `nacl_sign`, `es256`), base64-encoded.
2918
+ */
2919
+ publicKey?: string;
2920
+ /**
2921
+ * Type of the key: `hs256`, `hs384`, `hs512`, `xaes256gcm`, `nacl_auth`, `nacl_box`, `nacl_secretbox`, `nacl_sign`, or `es256`.
2922
+ */
1548
2923
  type?: string;
2924
+ /**
2925
+ * When the key last changed.
2926
+ */
1549
2927
  updatedAt?: string;
1550
2928
  }
1551
2929
  /**
@@ -1576,11 +2954,11 @@ export declare namespace apps {
1576
2954
  [key: string]: string;
1577
2955
  };
1578
2956
  /**
1579
- * Minimum secrets version to return. Returned when setting a new secret
2957
+ * Minimum secrets version to read, as returned by the endpoints that set or delete secrets. Use it to read your own writes.
1580
2958
  */
1581
2959
  minVersion?: string;
1582
2960
  /**
1583
- * Show the secret value.
2961
+ * Include the secret value. Only allowed when the request comes from a Machine of the app; otherwise the request fails with 403.
1584
2962
  */
1585
2963
  showSecrets?: boolean;
1586
2964
  }
@@ -1606,7 +2984,7 @@ export declare namespace apps {
1606
2984
  [key: string]: string;
1607
2985
  };
1608
2986
  /**
1609
- * Minimum secrets version to return. Returned when setting a new secret
2987
+ * Minimum secrets version to read, as returned by the endpoints that set or delete secrets. Use it to read your own writes.
1610
2988
  */
1611
2989
  minVersion?: string;
1612
2990
  }
@@ -1641,7 +3019,7 @@ export declare namespace apps {
1641
3019
  [key: string]: string;
1642
3020
  };
1643
3021
  /**
1644
- * Minimum secrets version to return. Returned when setting a new secret
3022
+ * Minimum secrets version to read, as returned by the endpoints that set or delete secrets. Use it to read your own writes.
1645
3023
  */
1646
3024
  minVersion?: string;
1647
3025
  }
@@ -1702,7 +3080,7 @@ export declare namespace apps {
1702
3080
  [key: string]: string;
1703
3081
  };
1704
3082
  /**
1705
- * Minimum secrets version to return. Returned when setting a new secret
3083
+ * Minimum secrets version to read, as returned by the endpoints that set or delete secrets. Use it to read your own writes.
1706
3084
  */
1707
3085
  minVersion?: string;
1708
3086
  }
@@ -1717,7 +3095,7 @@ export declare namespace apps {
1717
3095
  [key: string]: string;
1718
3096
  };
1719
3097
  /**
1720
- * Minimum secrets version to return. Returned when setting a new secret
3098
+ * Minimum secrets version to read, as returned by the endpoints that set or delete secrets. Use it to read your own writes.
1721
3099
  */
1722
3100
  minVersion?: string;
1723
3101
  }
@@ -1741,7 +3119,7 @@ export declare namespace apps {
1741
3119
  [key: string]: string;
1742
3120
  };
1743
3121
  /**
1744
- * Minimum secrets version to return. Returned when setting a new secret
3122
+ * Minimum secrets version to read, as returned by the endpoints that set or delete secrets. Use it to read your own writes.
1745
3123
  */
1746
3124
  minVersion?: string;
1747
3125
  }
@@ -1789,34 +3167,135 @@ export declare namespace apps {
1789
3167
  [key: string]: string;
1790
3168
  };
1791
3169
  }
1792
- interface StrippedLease {
1793
- description?: string;
1794
- expiresAt?: number;
1795
- owner?: string;
3170
+ /**
3171
+ * Which validation methods are currently possible.
3172
+ */
3173
+ interface Validation {
3174
+ /**
3175
+ * Whether the hostname points at the app, allowing TLS-ALPN-01 validation.
3176
+ */
3177
+ alpnConfigured?: boolean;
3178
+ /**
3179
+ * Whether the `_acme-challenge` CNAME record is set up, allowing DNS-01 validation.
3180
+ */
3181
+ dnsConfigured?: boolean;
3182
+ /**
3183
+ * Whether the hostname points at the app, allowing HTTP-01 validation.
3184
+ */
3185
+ httpConfigured?: boolean;
3186
+ /**
3187
+ * Whether the `_fly-ownership` TXT record is set up.
3188
+ */
3189
+ ownershipTxtConfigured?: boolean;
1796
3190
  }
1797
3191
  interface Volume {
3192
+ /**
3193
+ * Always null.
3194
+ *
3195
+ * Deprecated: volumes are no longer attached to Nomad allocations.
3196
+ */
1798
3197
  attachedAllocId?: string;
3198
+ /**
3199
+ * ID of the Machine the volume is attached to, or null if it is not attached.
3200
+ */
1799
3201
  attachedMachineId?: string;
3202
+ /**
3203
+ * Whether daily automatic snapshots are taken.
3204
+ */
1800
3205
  autoBackupEnabled?: boolean;
3206
+ /**
3207
+ * Size of a filesystem block, in bytes. See `blocks`.
3208
+ */
1801
3209
  blockSize?: number;
3210
+ /**
3211
+ * Size of the volume's filesystem, in blocks of `block_size` bytes, as last reported by a
3212
+ * Machine that mounted the volume. 0 if never reported, if the host could not be reached,
3213
+ * or with `summary=true`.
3214
+ */
1802
3215
  blocks?: number;
3216
+ /**
3217
+ * Number of filesystem blocks available to unprivileged users. See `blocks`.
3218
+ */
1803
3219
  blocksAvail?: number;
3220
+ /**
3221
+ * Number of free filesystem blocks, including blocks reserved for the root user. See
3222
+ * `blocks`.
3223
+ */
1804
3224
  blocksFree?: number;
3225
+ /**
3226
+ * Size of the volume, in bytes. 0 if the host could not be reached or with `summary=true`.
3227
+ */
1805
3228
  bytesTotal?: number;
3229
+ /**
3230
+ * Bytes of storage the volume occupies on its host. Volumes are thinly provisioned, so this
3231
+ * grows as blocks are written and does not shrink when files are deleted. It is not the
3232
+ * filesystem's usage; use `blocks` and `blocks_free` for that. 0 if the host could not be
3233
+ * reached or with `summary=true`.
3234
+ */
1806
3235
  bytesUsed?: number;
3236
+ /**
3237
+ * When the volume was created.
3238
+ */
1807
3239
  createdAt?: string;
3240
+ /**
3241
+ * Whether the volume is encrypted at rest.
3242
+ */
1808
3243
  encrypted?: boolean;
3244
+ /**
3245
+ * Filesystem the volume was formatted with: `ext4`, or `raw` for an unformatted block
3246
+ * device.
3247
+ */
1809
3248
  fstype?: string;
3249
+ /**
3250
+ * Features of the volume's host. Only returned when the request sets the
3251
+ * `fly-include-host-features: true` header.
3252
+ */
1810
3253
  hostFeatures?: string[];
3254
+ /**
3255
+ * Whether Fly.io could reach the volume's host: `ok` if it could, `unreachable` or
3256
+ * `unknown` if it could not, in which case host-reported fields are missing.
3257
+ */
1811
3258
  hostStatus?: enums.apps.v1.VolumeHostStatus;
3259
+ /**
3260
+ * Unique ID of the volume, such as `vol_1234567890abcdef`.
3261
+ */
1812
3262
  id?: string;
3263
+ /**
3264
+ * Name of the volume. Several volumes of an app can share a name.
3265
+ */
1813
3266
  name?: string;
3267
+ /**
3268
+ * Code of the region the volume is in.
3269
+ */
1814
3270
  region?: string;
3271
+ /**
3272
+ * Host features the volume's host was required to have; see `compute.required_host_features`
3273
+ * in the create request.
3274
+ */
1815
3275
  requiredHostFeatures?: string[];
3276
+ /**
3277
+ * Size of the volume, in GiB.
3278
+ */
1816
3279
  sizeGb?: number;
3280
+ /**
3281
+ * Number of days snapshots of the volume are kept.
3282
+ */
1817
3283
  snapshotRetention?: number;
3284
+ /**
3285
+ * State of the volume, such as `creating`, `created`, `extending`, `restoring`,
3286
+ * `hydrating`, `scheduling_destroy`, `pending_destroy`, `destroying`, `destroyed`, or
3287
+ * `failed`.
3288
+ */
1818
3289
  state?: string;
3290
+ /**
3291
+ * Kind of volume: `local` for regular volumes, or `cache` for volumes that hold
3292
+ * disposable data and support neither snapshots nor restores.
3293
+ */
1819
3294
  type?: enums.apps.v1.VolumeType;
3295
+ /**
3296
+ * Identifies the host the volume is on. Volumes with different zones are on different
3297
+ * hosts.
3298
+ */
1820
3299
  zone?: string;
1821
3300
  }
1822
3301
  /**
@@ -1885,12 +3364,35 @@ export declare namespace apps {
1885
3364
  };
1886
3365
  }
1887
3366
  interface VolumeSnapshot {
3367
+ /**
3368
+ * When the snapshot finished, in RFC 3339 format. The zero time
3369
+ * (0001-01-01T00:00:00Z) while the snapshot is in progress.
3370
+ */
1888
3371
  createdAt?: string;
3372
+ /**
3373
+ * Content digest of the snapshot. Empty while the snapshot is in progress.
3374
+ */
1889
3375
  digest?: string;
3376
+ /**
3377
+ * Unique ID of the snapshot. Pass it as `snapshot_id` when creating a volume to restore it.
3378
+ */
1890
3379
  id?: string;
3380
+ /**
3381
+ * Number of days the snapshot is kept after it was created. Omitted while the snapshot is
3382
+ * in progress.
3383
+ */
1891
3384
  retentionDays?: number;
3385
+ /**
3386
+ * Size of the stored snapshot, in bytes. 0 while the snapshot is in progress.
3387
+ */
1892
3388
  size?: number;
3389
+ /**
3390
+ * `created` for completed snapshots; other values while the snapshot is in progress.
3391
+ */
1893
3392
  status?: string;
3393
+ /**
3394
+ * Size of the volume the snapshot was taken of, in bytes.
3395
+ */
1894
3396
  volumeSize?: number;
1895
3397
  }
1896
3398
  /**
@@ -1909,108 +3411,393 @@ export declare namespace apps {
1909
3411
  */
1910
3412
  interface VolumeSnapshotQueryParams {
1911
3413
  /**
1912
- * Query params for the create operation.
3414
+ * Query params for the create operation.
3415
+ */
3416
+ create?: outputs.apps.v1.VolumeSnapshotCreateQueryParams;
3417
+ }
3418
+ /**
3419
+ * Query params for the API request.
3420
+ */
3421
+ interface VolumesExtendCreateQueryParams {
3422
+ /**
3423
+ * Additional query params to send with the request that are not defined in the API spec.
3424
+ */
3425
+ additionalParams?: {
3426
+ [key: string]: string;
3427
+ };
3428
+ }
3429
+ /**
3430
+ * Query params for the API request.
3431
+ */
3432
+ interface VolumesExtendPutQueryParams {
3433
+ /**
3434
+ * Additional query params to send with the request that are not defined in the API spec.
3435
+ */
3436
+ additionalParams?: {
3437
+ [key: string]: string;
3438
+ };
3439
+ }
3440
+ /**
3441
+ * Query params for each of the operations of the resource.
3442
+ */
3443
+ interface VolumesExtendQueryParams {
3444
+ /**
3445
+ * Query params for the create operation.
3446
+ */
3447
+ create?: outputs.apps.v1.VolumesExtendCreateQueryParams;
3448
+ /**
3449
+ * Query params for the put operation.
3450
+ */
3451
+ put?: outputs.apps.v1.VolumesExtendPutQueryParams;
3452
+ }
3453
+ /**
3454
+ * The extended volume.
3455
+ */
3456
+ interface VolumesExtendVolume {
3457
+ /**
3458
+ * Always null.
3459
+ *
3460
+ * Deprecated: volumes are no longer attached to Nomad allocations.
3461
+ */
3462
+ attachedAllocId?: string;
3463
+ /**
3464
+ * ID of the Machine the volume is attached to, or null if it is not attached.
3465
+ */
3466
+ attachedMachineId?: string;
3467
+ /**
3468
+ * Whether daily automatic snapshots are taken.
3469
+ */
3470
+ autoBackupEnabled?: boolean;
3471
+ /**
3472
+ * Size of a filesystem block, in bytes. See `blocks`.
3473
+ */
3474
+ blockSize?: number;
3475
+ /**
3476
+ * Size of the volume's filesystem, in blocks of `block_size` bytes, as last reported by a
3477
+ * Machine that mounted the volume. 0 if never reported, if the host could not be reached,
3478
+ * or with `summary=true`.
3479
+ */
3480
+ blocks?: number;
3481
+ /**
3482
+ * Number of filesystem blocks available to unprivileged users. See `blocks`.
3483
+ */
3484
+ blocksAvail?: number;
3485
+ /**
3486
+ * Number of free filesystem blocks, including blocks reserved for the root user. See
3487
+ * `blocks`.
3488
+ */
3489
+ blocksFree?: number;
3490
+ /**
3491
+ * Size of the volume, in bytes. 0 if the host could not be reached or with `summary=true`.
3492
+ */
3493
+ bytesTotal?: number;
3494
+ /**
3495
+ * Bytes of storage the volume occupies on its host. Volumes are thinly provisioned, so this
3496
+ * grows as blocks are written and does not shrink when files are deleted. It is not the
3497
+ * filesystem's usage; use `blocks` and `blocks_free` for that. 0 if the host could not be
3498
+ * reached or with `summary=true`.
3499
+ */
3500
+ bytesUsed?: number;
3501
+ /**
3502
+ * When the volume was created.
3503
+ */
3504
+ createdAt?: string;
3505
+ /**
3506
+ * Whether the volume is encrypted at rest.
3507
+ */
3508
+ encrypted?: boolean;
3509
+ /**
3510
+ * Filesystem the volume was formatted with: `ext4`, or `raw` for an unformatted block
3511
+ * device.
3512
+ */
3513
+ fstype?: string;
3514
+ /**
3515
+ * Features of the volume's host. Only returned when the request sets the
3516
+ * `fly-include-host-features: true` header.
3517
+ */
3518
+ hostFeatures?: string[];
3519
+ /**
3520
+ * Whether Fly.io could reach the volume's host: `ok` if it could, `unreachable` or
3521
+ * `unknown` if it could not, in which case host-reported fields are missing.
3522
+ */
3523
+ hostStatus?: enums.apps.v1.VolumeHostStatus;
3524
+ /**
3525
+ * Unique ID of the volume, such as `vol_1234567890abcdef`.
3526
+ */
3527
+ id?: string;
3528
+ /**
3529
+ * Name of the volume. Several volumes of an app can share a name.
3530
+ */
3531
+ name?: string;
3532
+ /**
3533
+ * Code of the region the volume is in.
1913
3534
  */
1914
- create?: outputs.apps.v1.VolumeSnapshotCreateQueryParams;
1915
- }
1916
- /**
1917
- * Query params for the API request.
1918
- */
1919
- interface VolumesExtendCreateQueryParams {
3535
+ region?: string;
1920
3536
  /**
1921
- * Additional query params to send with the request that are not defined in the API spec.
3537
+ * Host features the volume's host was required to have; see `compute.required_host_features`
3538
+ * in the create request.
1922
3539
  */
1923
- additionalParams?: {
1924
- [key: string]: string;
1925
- };
1926
- }
1927
- /**
1928
- * Query params for the API request.
1929
- */
1930
- interface VolumesExtendPutQueryParams {
3540
+ requiredHostFeatures?: string[];
1931
3541
  /**
1932
- * Additional query params to send with the request that are not defined in the API spec.
3542
+ * Size of the volume, in GiB.
1933
3543
  */
1934
- additionalParams?: {
1935
- [key: string]: string;
1936
- };
1937
- }
1938
- /**
1939
- * Query params for each of the operations of the resource.
1940
- */
1941
- interface VolumesExtendQueryParams {
3544
+ sizeGb?: number;
1942
3545
  /**
1943
- * Query params for the create operation.
3546
+ * Number of days snapshots of the volume are kept.
1944
3547
  */
1945
- create?: outputs.apps.v1.VolumesExtendCreateQueryParams;
3548
+ snapshotRetention?: number;
1946
3549
  /**
1947
- * Query params for the put operation.
3550
+ * State of the volume, such as `creating`, `created`, `extending`, `restoring`,
3551
+ * `hydrating`, `scheduling_destroy`, `pending_destroy`, `destroying`, `destroyed`, or
3552
+ * `failed`.
1948
3553
  */
1949
- put?: outputs.apps.v1.VolumesExtendPutQueryParams;
3554
+ state?: string;
3555
+ /**
3556
+ * Kind of volume: `local` for regular volumes, or `cache` for volumes that hold
3557
+ * disposable data and support neither snapshots nor restores.
3558
+ */
3559
+ type?: enums.apps.v1.VolumeType;
3560
+ /**
3561
+ * Identifies the host the volume is on. Volumes with different zones are on different
3562
+ * hosts.
3563
+ */
3564
+ zone?: string;
1950
3565
  }
1951
3566
  }
1952
3567
  }
1953
3568
  export declare namespace orgs {
1954
3569
  namespace v1 {
1955
- interface FlyMachineGuest {
3570
+ /**
3571
+ * The Machine's CPU, memory, and GPU configuration.
3572
+ */
3573
+ interface MachineOverviewConfigGuest {
3574
+ /**
3575
+ * Kind of CPU: shared or performance. Performance CPUs must be enabled for the organization.
3576
+ * Defaults to shared when `guest` is omitted
3577
+ */
1956
3578
  cpuKind?: string;
3579
+ /**
3580
+ * Number of CPUs: 1, 2, 4, 6, 8, 10, 12, 14, 16, 32, 64 or 128, up to 8 for shared and 16 for
3581
+ * performance CPUs unless the organization's limit is higher. Defaults to 1 when `guest` is
3582
+ * omitted
3583
+ */
1957
3584
  cpus?: number;
3585
+ /**
3586
+ * No longer supported. Requests that set it are rejected
3587
+ */
1958
3588
  gpuKind?: string;
3589
+ /**
3590
+ * No longer supported. Requests that set it are rejected
3591
+ */
1959
3592
  gpus?: number;
3593
+ /**
3594
+ * Place the Machine on hosts dedicated to the organization under this ID. Only available to
3595
+ * organizations with dedicated hosts
3596
+ */
1960
3597
  hostDedicationId?: string;
3598
+ /**
3599
+ * Extra arguments appended to the guest kernel command line
3600
+ */
1961
3601
  kernelArgs?: string[];
3602
+ /**
3603
+ * Memory in MiB that the Machine's memory limit can later be raised to without a restart, using
3604
+ * the memory endpoints. Must be at least memory_mb and at most the per-CPU maximum. The Machine
3605
+ * starts with a limit of memory_mb
3606
+ */
1962
3607
  maxMemoryMb?: number;
3608
+ /**
3609
+ * Memory in MiB. Must be a multiple of 256 for shared and 1024 for performance CPUs, and
3610
+ * between 256 and 2048 (shared) or 2048 and 8192 (performance) per CPU. Defaults to 256 when
3611
+ * `guest` is omitted
3612
+ */
1963
3613
  memoryMb?: number;
1964
3614
  /**
1965
3615
  * Deprecated: use MachineConfig.Rootfs instead
1966
3616
  */
1967
3617
  persistRootfs?: enums.orgs.v1.FlyMachineGuestPersistRootfs;
3618
+ /**
3619
+ * Host features the Machine's host must have, such as `storage-tier-1`. At most 16, each made
3620
+ * of lowercase letters, digits and dashes. Each feature must be enabled for the organization
3621
+ */
1968
3622
  requiredHostFeatures?: string[];
1969
3623
  }
1970
- interface MachineOverviewConfig {
1971
- guest?: outputs.orgs.v1.FlyMachineGuest;
1972
- image?: string;
1973
- metadata?: {
1974
- [key: string]: string;
1975
- };
1976
- }
1977
3624
  interface OrgMachine {
3625
+ /**
3626
+ * Name of the app the Machine belongs to.
3627
+ */
1978
3628
  appName?: string;
1979
- config?: outputs.orgs.v1.MachineOverviewConfig;
3629
+ /**
3630
+ * Subset of the Machine's configuration. Omitted when `summary=true`.
3631
+ */
3632
+ config?: outputs.orgs.v1.OrgMachineConfig;
3633
+ /**
3634
+ * When the Machine was created.
3635
+ */
1980
3636
  createdAt?: string;
3637
+ /**
3638
+ * Unique ID of the Machine.
3639
+ */
1981
3640
  id?: string;
3641
+ /**
3642
+ * Name of the Machine.
3643
+ */
1982
3644
  name?: string;
3645
+ /**
3646
+ * The Machine's address on the organization's private (6PN) IPv6 network.
3647
+ */
1983
3648
  privateIp?: string;
3649
+ /**
3650
+ * Code of the region the Machine runs in.
3651
+ */
1984
3652
  region?: string;
3653
+ /**
3654
+ * Current state of the Machine; see the `state` field of Machine.
3655
+ */
1985
3656
  state?: string;
3657
+ /**
3658
+ * When Fly.io last recorded a change to the Machine.
3659
+ */
1986
3660
  updatedAt?: string;
3661
+ /**
3662
+ * ID of the Machine's current version.
3663
+ */
1987
3664
  version?: string;
1988
3665
  }
3666
+ /**
3667
+ * Subset of the Machine's configuration. Omitted when `summary=true`.
3668
+ */
3669
+ interface OrgMachineConfig {
3670
+ /**
3671
+ * The Machine's CPU, memory, and GPU configuration.
3672
+ */
3673
+ guest?: outputs.orgs.v1.MachineOverviewConfigGuest;
3674
+ /**
3675
+ * The image reference the Machine was configured with.
3676
+ */
3677
+ image?: string;
3678
+ /**
3679
+ * The Machine's metadata key-value pairs.
3680
+ */
3681
+ metadata?: {
3682
+ [key: string]: string;
3683
+ };
3684
+ }
1989
3685
  interface OrgVolume {
3686
+ /**
3687
+ * Name of the app the volume belongs to.
3688
+ */
1990
3689
  appName?: string;
3690
+ /**
3691
+ * Always null.
3692
+ *
3693
+ * Deprecated: volumes are no longer attached to Nomad allocations.
3694
+ */
1991
3695
  attachedAllocId?: string;
3696
+ /**
3697
+ * ID of the Machine the volume is attached to, or null if it is not attached.
3698
+ */
1992
3699
  attachedMachineId?: string;
3700
+ /**
3701
+ * Whether daily automatic snapshots are taken.
3702
+ */
1993
3703
  autoBackupEnabled?: boolean;
3704
+ /**
3705
+ * Size of a filesystem block, in bytes. See `blocks`.
3706
+ */
1994
3707
  blockSize?: number;
3708
+ /**
3709
+ * Size of the volume's filesystem, in blocks of `block_size` bytes, as last reported by a
3710
+ * Machine that mounted the volume. 0 if never reported, if the host could not be reached,
3711
+ * or with `summary=true`.
3712
+ */
1995
3713
  blocks?: number;
3714
+ /**
3715
+ * Number of filesystem blocks available to unprivileged users. See `blocks`.
3716
+ */
1996
3717
  blocksAvail?: number;
3718
+ /**
3719
+ * Number of free filesystem blocks, including blocks reserved for the root user. See
3720
+ * `blocks`.
3721
+ */
1997
3722
  blocksFree?: number;
3723
+ /**
3724
+ * Size of the volume, in bytes. 0 if the host could not be reached or with `summary=true`.
3725
+ */
1998
3726
  bytesTotal?: number;
3727
+ /**
3728
+ * Bytes of storage the volume occupies on its host. Volumes are thinly provisioned, so this
3729
+ * grows as blocks are written and does not shrink when files are deleted. It is not the
3730
+ * filesystem's usage; use `blocks` and `blocks_free` for that. 0 if the host could not be
3731
+ * reached or with `summary=true`.
3732
+ */
1999
3733
  bytesUsed?: number;
3734
+ /**
3735
+ * When the volume was created.
3736
+ */
2000
3737
  createdAt?: string;
3738
+ /**
3739
+ * Whether the volume is encrypted at rest.
3740
+ */
2001
3741
  encrypted?: boolean;
3742
+ /**
3743
+ * Filesystem the volume was formatted with: `ext4`, or `raw` for an unformatted block
3744
+ * device.
3745
+ */
2002
3746
  fstype?: string;
3747
+ /**
3748
+ * Features of the volume's host. Only returned when the request sets the
3749
+ * `fly-include-host-features: true` header.
3750
+ */
2003
3751
  hostFeatures?: string[];
3752
+ /**
3753
+ * Whether Fly.io could reach the volume's host: `ok` if it could, `unreachable` or
3754
+ * `unknown` if it could not, in which case host-reported fields are missing.
3755
+ */
2004
3756
  hostStatus?: enums.orgs.v1.OrgVolumeHostStatus;
3757
+ /**
3758
+ * Unique ID of the volume, such as `vol_1234567890abcdef`.
3759
+ */
2005
3760
  id?: string;
3761
+ /**
3762
+ * Name of the volume. Several volumes of an app can share a name.
3763
+ */
2006
3764
  name?: string;
3765
+ /**
3766
+ * Code of the region the volume is in.
3767
+ */
2007
3768
  region?: string;
3769
+ /**
3770
+ * Host features the volume's host was required to have; see `compute.required_host_features`
3771
+ * in the create request.
3772
+ */
2008
3773
  requiredHostFeatures?: string[];
3774
+ /**
3775
+ * Size of the volume, in GiB.
3776
+ */
2009
3777
  sizeGb?: number;
3778
+ /**
3779
+ * Number of days snapshots of the volume are kept.
3780
+ */
2010
3781
  snapshotRetention?: number;
3782
+ /**
3783
+ * State of the volume, such as `creating`, `created`, `extending`, `restoring`,
3784
+ * `hydrating`, `scheduling_destroy`, `pending_destroy`, `destroying`, `destroyed`, or
3785
+ * `failed`.
3786
+ */
2011
3787
  state?: string;
3788
+ /**
3789
+ * Kind of volume: `local` for regular volumes, or `cache` for volumes that hold
3790
+ * disposable data and support neither snapshots nor restores.
3791
+ */
2012
3792
  type?: enums.orgs.v1.OrgVolumeType;
3793
+ /**
3794
+ * When Fly.io last recorded a change to the volume.
3795
+ */
2013
3796
  updatedAt?: string;
3797
+ /**
3798
+ * Identifies the host the volume is on. Volumes with different zones are on different
3799
+ * hosts.
3800
+ */
2014
3801
  zone?: string;
2015
3802
  }
2016
3803
  }
@@ -2021,35 +3808,109 @@ export declare namespace platform {
2021
3808
  * Resource requirements for the Machine to simulate. Defaults to a performance-1x machine
2022
3809
  */
2023
3810
  interface Compute {
3811
+ /**
3812
+ * Kind of CPU: shared or performance. Performance CPUs must be enabled for the organization.
3813
+ * Defaults to shared when `guest` is omitted
3814
+ */
2024
3815
  cpuKind?: string;
3816
+ /**
3817
+ * Number of CPUs: 1, 2, 4, 6, 8, 10, 12, 14, 16, 32, 64 or 128, up to 8 for shared and 16 for
3818
+ * performance CPUs unless the organization's limit is higher. Defaults to 1 when `guest` is
3819
+ * omitted
3820
+ */
2025
3821
  cpus?: number;
3822
+ /**
3823
+ * No longer supported. Requests that set it are rejected
3824
+ */
2026
3825
  gpuKind?: string;
3826
+ /**
3827
+ * No longer supported. Requests that set it are rejected
3828
+ */
2027
3829
  gpus?: number;
3830
+ /**
3831
+ * Place the Machine on hosts dedicated to the organization under this ID. Only available to
3832
+ * organizations with dedicated hosts
3833
+ */
2028
3834
  hostDedicationId?: string;
3835
+ /**
3836
+ * Extra arguments appended to the guest kernel command line
3837
+ */
2029
3838
  kernelArgs?: string[];
3839
+ /**
3840
+ * Memory in MiB that the Machine's memory limit can later be raised to without a restart, using
3841
+ * the memory endpoints. Must be at least memory_mb and at most the per-CPU maximum. The Machine
3842
+ * starts with a limit of memory_mb
3843
+ */
2030
3844
  maxMemoryMb?: number;
3845
+ /**
3846
+ * Memory in MiB. Must be a multiple of 256 for shared and 1024 for performance CPUs, and
3847
+ * between 256 and 2048 (shared) or 2048 and 8192 (performance) per CPU. Defaults to 256 when
3848
+ * `guest` is omitted
3849
+ */
2031
3850
  memoryMb?: number;
2032
3851
  /**
2033
3852
  * Deprecated: use MachineConfig.Rootfs instead
2034
3853
  */
2035
3854
  persistRootfs?: enums.platform.v1.FlyMachineGuestPersistRootfs;
3855
+ /**
3856
+ * Host features the Machine's host must have, such as `storage-tier-1`. At most 16, each made
3857
+ * of lowercase letters, digits and dashes. Each feature must be enabled for the organization
3858
+ */
2036
3859
  requiredHostFeatures?: string[];
2037
3860
  }
2038
3861
  interface MainRegionRow {
3862
+ /**
3863
+ * Region code, such as `iad`, used to select the region in other requests.
3864
+ */
2039
3865
  code?: string;
3866
+ /**
3867
+ * Whether the region is deprecated. Avoid creating new resources in it.
3868
+ */
2040
3869
  deprecated?: boolean;
3870
+ /**
3871
+ * Whether the region has a WireGuard gateway that private network peers can connect to.
3872
+ */
2041
3873
  gatewayAvailable?: boolean;
2042
- geoRegion?: string;
3874
+ /**
3875
+ * Geographic area the region belongs to.
3876
+ */
3877
+ geoRegion?: enums.platform.v1.MainRegionRowGeoRegion;
3878
+ /**
3879
+ * Latitude of the region's location.
3880
+ */
2043
3881
  latitude?: number;
3882
+ /**
3883
+ * Longitude of the region's location.
3884
+ */
2044
3885
  longitude?: number;
3886
+ /**
3887
+ * Whether Managed Postgres clusters can be created in the region.
3888
+ */
2045
3889
  mpgAvailable?: boolean;
3890
+ /**
3891
+ * Human-readable name of the region, such as `Ashburn, Virginia (US)`.
3892
+ */
2046
3893
  name?: string;
3894
+ /**
3895
+ * Whether only organizations on a paid plan can use the region.
3896
+ */
2047
3897
  requiresPaidPlan?: boolean;
2048
3898
  }
2049
3899
  interface PlacementRegionPlacement {
2050
- concurrency?: number;
2051
- count?: number;
2052
- region?: string;
3900
+ /**
3901
+ * Number of distinct hosts those Machines would be spread over. 0 when the request's count
3902
+ * is 0.
3903
+ */
3904
+ Concurrency?: number;
3905
+ /**
3906
+ * Number of Machines that would be placed in the region. When the request's count is 0, the
3907
+ * organization's Machine limit for the region instead.
3908
+ */
3909
+ Count?: number;
3910
+ /**
3911
+ * Code of the region.
3912
+ */
3913
+ Region?: string;
2053
3914
  }
2054
3915
  /**
2055
3916
  * Query params for the API request.
@@ -2261,7 +4122,7 @@ export declare namespace postgres {
2261
4122
  /**
2262
4123
  * Connection endpoints. Populated once the cluster is ready.
2263
4124
  */
2264
- endpoints?: outputs.postgres.v1.PostgresClusterEndpoints;
4125
+ endpoints?: outputs.postgres.v1.PostgresPostgresClusterEndpoints;
2265
4126
  /**
2266
4127
  * Cluster ID.
2267
4128
  */
@@ -2310,15 +4171,6 @@ export declare namespace postgres {
2310
4171
  */
2311
4172
  storageUsedBytes?: number;
2312
4173
  }
2313
- /**
2314
- * Connection endpoints. Populated once the cluster is ready.
2315
- */
2316
- interface PostgresClusterEndpoints {
2317
- /**
2318
- * Endpoints for connecting to the primary node.
2319
- */
2320
- primary?: outputs.postgres.v1.PostgresClusterEndpointsPrimary;
2321
- }
2322
4174
  /**
2323
4175
  * Endpoints for connecting to the primary node.
2324
4176
  */
@@ -2418,6 +4270,26 @@ export declare namespace postgres {
2418
4270
  */
2419
4271
  delete?: outputs.postgres.v1.PostgresDatabaseDeleteQueryParams;
2420
4272
  }
4273
+ /**
4274
+ * Query params for the API request.
4275
+ */
4276
+ interface PostgresDatabasesQueryCreateQueryParams {
4277
+ /**
4278
+ * Additional query params to send with the request that are not defined in the API spec.
4279
+ */
4280
+ additionalParams?: {
4281
+ [key: string]: string;
4282
+ };
4283
+ }
4284
+ /**
4285
+ * Query params for each of the operations of the resource.
4286
+ */
4287
+ interface PostgresDatabasesQueryQueryParams {
4288
+ /**
4289
+ * Query params for the create operation.
4290
+ */
4291
+ create?: outputs.postgres.v1.PostgresDatabasesQueryCreateQueryParams;
4292
+ }
2421
4293
  /**
2422
4294
  * Query params for the API request.
2423
4295
  */
@@ -2571,6 +4443,25 @@ export declare namespace postgres {
2571
4443
  */
2572
4444
  plan?: enums.postgres.v1.PostgresPlanPlan;
2573
4445
  }
4446
+ /**
4447
+ * Connection endpoints. Populated once the cluster is ready.
4448
+ */
4449
+ interface PostgresPostgresClusterEndpoints {
4450
+ /**
4451
+ * Endpoints for connecting to the primary node.
4452
+ */
4453
+ primary?: outputs.postgres.v1.PostgresClusterEndpointsPrimary;
4454
+ }
4455
+ interface PostgresQueryColumn {
4456
+ /**
4457
+ * Column name as returned by Postgres.
4458
+ */
4459
+ name?: string;
4460
+ /**
4461
+ * Postgres type name.
4462
+ */
4463
+ type?: string;
4464
+ }
2574
4465
  /**
2575
4466
  * Query params for each of the operations of the resource.
2576
4467
  */
@@ -2732,7 +4623,10 @@ export declare namespace postgres {
2732
4623
  }
2733
4624
  export declare namespace tokens {
2734
4625
  namespace v1 {
2735
- interface FlyioAccess {
4626
+ /**
4627
+ * The requested access, with names resolved to IDs.
4628
+ */
4629
+ interface Access {
2736
4630
  action?: enums.tokens.v1.FlyioAccessAction;
2737
4631
  appFeature?: string;
2738
4632
  appid?: number;
@@ -2758,29 +4652,38 @@ export declare namespace tokens {
2758
4652
  rnd?: number[];
2759
4653
  }
2760
4654
  interface MainTokenInfo {
4655
+ /**
4656
+ * Names of the apps the token is restricted to. Omitted if the token is not restricted to
4657
+ * specific apps.
4658
+ */
2761
4659
  apps?: string[];
4660
+ /**
4661
+ * Slug of the organization the token is scoped to.
4662
+ */
2762
4663
  orgSlug?: string;
4664
+ /**
4665
+ * Name of the organization the token is scoped to.
4666
+ */
2763
4667
  organization?: string;
2764
4668
  /**
2765
- * Machine the token is restricted to (FromMachine caveat)
4669
+ * ID of the Machine the token may only be used from. Omitted if the token is not restricted
4670
+ * to a Machine.
2766
4671
  */
2767
4672
  restrictedToMachine?: string;
2768
4673
  /**
2769
- * Machine making the request
4674
+ * Never set.
2770
4675
  */
2771
4676
  sourceMachineId?: string;
4677
+ /**
4678
+ * ID of the token.
4679
+ */
2772
4680
  tokenId?: string;
2773
4681
  /**
2774
- * User identifier if token is for a user
4682
+ * Opaque identifier of the user the token belongs to: the first 7 hex characters of a hash of
4683
+ * the user's ID. Omitted for tokens that do not belong to a user.
2775
4684
  */
2776
4685
  user?: string;
2777
4686
  }
2778
- interface RootVerifiedToken {
2779
- caveats?: outputs.tokens.v1.MacaroonCaveatSet;
2780
- header?: string;
2781
- nonce?: outputs.tokens.v1.MacaroonNonce;
2782
- permissionToken?: number[];
2783
- }
2784
4687
  /**
2785
4688
  * Query params for the API request.
2786
4689
  */
@@ -2861,6 +4764,15 @@ export declare namespace tokens {
2861
4764
  */
2862
4765
  create?: outputs.tokens.v1.TokensRequestOidcCreateQueryParams;
2863
4766
  }
4767
+ /**
4768
+ * The token that grants the requested access.
4769
+ */
4770
+ interface VerifiedToken {
4771
+ caveats?: outputs.tokens.v1.MacaroonCaveatSet;
4772
+ header?: string;
4773
+ nonce?: outputs.tokens.v1.MacaroonNonce;
4774
+ permissionToken?: number[];
4775
+ }
2864
4776
  }
2865
4777
  }
2866
4778
  //# sourceMappingURL=output.d.ts.map