@pulumi/docker-build 0.0.1-alpha.3

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.
@@ -0,0 +1,765 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ import * as inputs from "../types/input";
3
+ import * as enums from "../types/enums";
4
+ export interface BuildContextArgs {
5
+ /**
6
+ * Resources to use for build context.
7
+ *
8
+ * The location can be:
9
+ * * A relative or absolute path to a local directory (`.`, `./app`,
10
+ * `/app`, etc.).
11
+ * * A remote URL of a Git repository, tarball, or plain text file
12
+ * (`https://github.com/user/myrepo.git`, `http://server/context.tar.gz`,
13
+ * etc.).
14
+ */
15
+ location: pulumi.Input<string>;
16
+ /**
17
+ * Additional build contexts to use.
18
+ *
19
+ * These contexts are accessed with `FROM name` or `--from=name`
20
+ * statements when using Dockerfile 1.4+ syntax.
21
+ *
22
+ * Values can be local paths, HTTP URLs, or `docker-image://` images.
23
+ */
24
+ named?: pulumi.Input<{
25
+ [key: string]: pulumi.Input<inputs.ContextArgs>;
26
+ }>;
27
+ }
28
+ export interface BuilderConfigArgs {
29
+ /**
30
+ * Name of an existing buildx builder to use.
31
+ *
32
+ * Only `docker-container`, `kubernetes`, or `remote` drivers are
33
+ * supported. The legacy `docker` driver is not supported.
34
+ *
35
+ * Equivalent to Docker's `--builder` flag.
36
+ */
37
+ name?: pulumi.Input<string>;
38
+ }
39
+ export interface CacheFromArgs {
40
+ /**
41
+ * Upload build caches to Azure's blob storage service.
42
+ */
43
+ azblob?: pulumi.Input<inputs.CacheFromAzureBlobArgs>;
44
+ /**
45
+ * When `true` this entry will be excluded. Defaults to `false`.
46
+ */
47
+ disabled?: pulumi.Input<boolean>;
48
+ /**
49
+ * Recommended for use with GitHub Actions workflows.
50
+ *
51
+ * An action like `crazy-max/ghaction-github-runtime` is recommended to
52
+ * expose appropriate credentials to your GitHub workflow.
53
+ */
54
+ gha?: pulumi.Input<inputs.CacheFromGitHubActionsArgs>;
55
+ /**
56
+ * A simple backend which caches images on your local filesystem.
57
+ */
58
+ local?: pulumi.Input<inputs.CacheFromLocalArgs>;
59
+ /**
60
+ * A raw string as you would provide it to the Docker CLI (e.g.,
61
+ * `type=inline`).
62
+ */
63
+ raw?: pulumi.Input<string>;
64
+ /**
65
+ * Upload build caches to remote registries.
66
+ */
67
+ registry?: pulumi.Input<inputs.CacheFromRegistryArgs>;
68
+ /**
69
+ * Upload build caches to AWS S3 or an S3-compatible services such as
70
+ * MinIO.
71
+ */
72
+ s3?: pulumi.Input<inputs.CacheFromS3Args>;
73
+ }
74
+ /**
75
+ * cacheFromArgsProvideDefaults sets the appropriate defaults for CacheFromArgs
76
+ */
77
+ export declare function cacheFromArgsProvideDefaults(val: CacheFromArgs): CacheFromArgs;
78
+ export interface CacheFromAzureBlobArgs {
79
+ /**
80
+ * Base URL of the storage account.
81
+ */
82
+ accountUrl?: pulumi.Input<string>;
83
+ /**
84
+ * The name of the cache image.
85
+ */
86
+ name: pulumi.Input<string>;
87
+ /**
88
+ * Blob storage account key.
89
+ */
90
+ secretAccessKey?: pulumi.Input<string>;
91
+ }
92
+ export interface CacheFromGitHubActionsArgs {
93
+ /**
94
+ * The scope to use for cache keys. Defaults to `buildkit`.
95
+ *
96
+ * This should be set if building and caching multiple images in one
97
+ * workflow, otherwise caches will overwrite each other.
98
+ */
99
+ scope?: pulumi.Input<string>;
100
+ /**
101
+ * The GitHub Actions token to use. This is not a personal access tokens
102
+ * and is typically generated automatically as part of each job.
103
+ *
104
+ * Defaults to `$ACTIONS_RUNTIME_TOKEN`, although a separate action like
105
+ * `crazy-max/ghaction-github-runtime` is recommended to expose this
106
+ * environment variable to your jobs.
107
+ */
108
+ token?: pulumi.Input<string>;
109
+ /**
110
+ * The cache server URL to use for artifacts.
111
+ *
112
+ * Defaults to `$ACTIONS_RUNTIME_URL`, although a separate action like
113
+ * `crazy-max/ghaction-github-runtime` is recommended to expose this
114
+ * environment variable to your jobs.
115
+ */
116
+ url?: pulumi.Input<string>;
117
+ }
118
+ /**
119
+ * cacheFromGitHubActionsArgsProvideDefaults sets the appropriate defaults for CacheFromGitHubActionsArgs
120
+ */
121
+ export declare function cacheFromGitHubActionsArgsProvideDefaults(val: CacheFromGitHubActionsArgs): CacheFromGitHubActionsArgs;
122
+ export interface CacheFromLocalArgs {
123
+ /**
124
+ * Digest of manifest to import.
125
+ */
126
+ digest?: pulumi.Input<string>;
127
+ /**
128
+ * Path of the local directory where cache gets imported from.
129
+ */
130
+ src: pulumi.Input<string>;
131
+ }
132
+ export interface CacheFromRegistryArgs {
133
+ /**
134
+ * Fully qualified name of the cache image to import.
135
+ */
136
+ ref: pulumi.Input<string>;
137
+ }
138
+ export interface CacheFromS3Args {
139
+ /**
140
+ * Defaults to `$AWS_ACCESS_KEY_ID`.
141
+ */
142
+ accessKeyId?: pulumi.Input<string>;
143
+ /**
144
+ * Prefix to prepend to blob filenames.
145
+ */
146
+ blobsPrefix?: pulumi.Input<string>;
147
+ /**
148
+ * Name of the S3 bucket.
149
+ */
150
+ bucket: pulumi.Input<string>;
151
+ /**
152
+ * Endpoint of the S3 bucket.
153
+ */
154
+ endpointUrl?: pulumi.Input<string>;
155
+ /**
156
+ * Prefix to prepend on manifest filenames.
157
+ */
158
+ manifestsPrefix?: pulumi.Input<string>;
159
+ /**
160
+ * Name of the cache image.
161
+ */
162
+ name?: pulumi.Input<string>;
163
+ /**
164
+ * The geographic location of the bucket. Defaults to `$AWS_REGION`.
165
+ */
166
+ region: pulumi.Input<string>;
167
+ /**
168
+ * Defaults to `$AWS_SECRET_ACCESS_KEY`.
169
+ */
170
+ secretAccessKey?: pulumi.Input<string>;
171
+ /**
172
+ * Defaults to `$AWS_SESSION_TOKEN`.
173
+ */
174
+ sessionToken?: pulumi.Input<string>;
175
+ /**
176
+ * Uses `bucket` in the URL instead of hostname when `true`.
177
+ */
178
+ usePathStyle?: pulumi.Input<boolean>;
179
+ }
180
+ /**
181
+ * cacheFromS3ArgsProvideDefaults sets the appropriate defaults for CacheFromS3Args
182
+ */
183
+ export declare function cacheFromS3ArgsProvideDefaults(val: CacheFromS3Args): CacheFromS3Args;
184
+ export interface CacheToArgs {
185
+ /**
186
+ * Push cache to Azure's blob storage service.
187
+ */
188
+ azblob?: pulumi.Input<inputs.CacheToAzureBlobArgs>;
189
+ /**
190
+ * When `true` this entry will be excluded. Defaults to `false`.
191
+ */
192
+ disabled?: pulumi.Input<boolean>;
193
+ /**
194
+ * Recommended for use with GitHub Actions workflows.
195
+ *
196
+ * An action like `crazy-max/ghaction-github-runtime` is recommended to
197
+ * expose appropriate credentials to your GitHub workflow.
198
+ */
199
+ gha?: pulumi.Input<inputs.CacheToGitHubActionsArgs>;
200
+ /**
201
+ * The inline cache storage backend is the simplest implementation to get
202
+ * started with, but it does not handle multi-stage builds. Consider the
203
+ * `registry` cache backend instead.
204
+ */
205
+ inline?: pulumi.Input<inputs.CacheToInlineArgs>;
206
+ /**
207
+ * A simple backend which caches imagines on your local filesystem.
208
+ */
209
+ local?: pulumi.Input<inputs.CacheToLocalArgs>;
210
+ /**
211
+ * A raw string as you would provide it to the Docker CLI (e.g.,
212
+ * `type=inline`)
213
+ */
214
+ raw?: pulumi.Input<string>;
215
+ /**
216
+ * Push caches to remote registries. Incompatible with the `docker` build
217
+ * driver.
218
+ */
219
+ registry?: pulumi.Input<inputs.CacheToRegistryArgs>;
220
+ /**
221
+ * Push cache to AWS S3 or S3-compatible services such as MinIO.
222
+ */
223
+ s3?: pulumi.Input<inputs.CacheToS3Args>;
224
+ }
225
+ /**
226
+ * cacheToArgsProvideDefaults sets the appropriate defaults for CacheToArgs
227
+ */
228
+ export declare function cacheToArgsProvideDefaults(val: CacheToArgs): CacheToArgs;
229
+ export interface CacheToAzureBlobArgs {
230
+ /**
231
+ * Base URL of the storage account.
232
+ */
233
+ accountUrl?: pulumi.Input<string>;
234
+ /**
235
+ * Ignore errors caused by failed cache exports.
236
+ */
237
+ ignoreError?: pulumi.Input<boolean>;
238
+ /**
239
+ * The cache mode to use. Defaults to `min`.
240
+ */
241
+ mode?: pulumi.Input<enums.CacheMode>;
242
+ /**
243
+ * The name of the cache image.
244
+ */
245
+ name: pulumi.Input<string>;
246
+ /**
247
+ * Blob storage account key.
248
+ */
249
+ secretAccessKey?: pulumi.Input<string>;
250
+ }
251
+ /**
252
+ * cacheToAzureBlobArgsProvideDefaults sets the appropriate defaults for CacheToAzureBlobArgs
253
+ */
254
+ export declare function cacheToAzureBlobArgsProvideDefaults(val: CacheToAzureBlobArgs): CacheToAzureBlobArgs;
255
+ export interface CacheToGitHubActionsArgs {
256
+ /**
257
+ * Ignore errors caused by failed cache exports.
258
+ */
259
+ ignoreError?: pulumi.Input<boolean>;
260
+ /**
261
+ * The cache mode to use. Defaults to `min`.
262
+ */
263
+ mode?: pulumi.Input<enums.CacheMode>;
264
+ /**
265
+ * The scope to use for cache keys. Defaults to `buildkit`.
266
+ *
267
+ * This should be set if building and caching multiple images in one
268
+ * workflow, otherwise caches will overwrite each other.
269
+ */
270
+ scope?: pulumi.Input<string>;
271
+ /**
272
+ * The GitHub Actions token to use. This is not a personal access tokens
273
+ * and is typically generated automatically as part of each job.
274
+ *
275
+ * Defaults to `$ACTIONS_RUNTIME_TOKEN`, although a separate action like
276
+ * `crazy-max/ghaction-github-runtime` is recommended to expose this
277
+ * environment variable to your jobs.
278
+ */
279
+ token?: pulumi.Input<string>;
280
+ /**
281
+ * The cache server URL to use for artifacts.
282
+ *
283
+ * Defaults to `$ACTIONS_RUNTIME_URL`, although a separate action like
284
+ * `crazy-max/ghaction-github-runtime` is recommended to expose this
285
+ * environment variable to your jobs.
286
+ */
287
+ url?: pulumi.Input<string>;
288
+ }
289
+ /**
290
+ * cacheToGitHubActionsArgsProvideDefaults sets the appropriate defaults for CacheToGitHubActionsArgs
291
+ */
292
+ export declare function cacheToGitHubActionsArgsProvideDefaults(val: CacheToGitHubActionsArgs): CacheToGitHubActionsArgs;
293
+ /**
294
+ * Include an inline cache with the exported image.
295
+ */
296
+ export interface CacheToInlineArgs {
297
+ }
298
+ export interface CacheToLocalArgs {
299
+ /**
300
+ * The compression type to use.
301
+ */
302
+ compression?: pulumi.Input<enums.CompressionType>;
303
+ /**
304
+ * Compression level from 0 to 22.
305
+ */
306
+ compressionLevel?: pulumi.Input<number>;
307
+ /**
308
+ * Path of the local directory to export the cache.
309
+ */
310
+ dest: pulumi.Input<string>;
311
+ /**
312
+ * Forcefully apply compression.
313
+ */
314
+ forceCompression?: pulumi.Input<boolean>;
315
+ /**
316
+ * Ignore errors caused by failed cache exports.
317
+ */
318
+ ignoreError?: pulumi.Input<boolean>;
319
+ /**
320
+ * The cache mode to use. Defaults to `min`.
321
+ */
322
+ mode?: pulumi.Input<enums.CacheMode>;
323
+ }
324
+ /**
325
+ * cacheToLocalArgsProvideDefaults sets the appropriate defaults for CacheToLocalArgs
326
+ */
327
+ export declare function cacheToLocalArgsProvideDefaults(val: CacheToLocalArgs): CacheToLocalArgs;
328
+ export interface CacheToRegistryArgs {
329
+ /**
330
+ * The compression type to use.
331
+ */
332
+ compression?: pulumi.Input<enums.CompressionType>;
333
+ /**
334
+ * Compression level from 0 to 22.
335
+ */
336
+ compressionLevel?: pulumi.Input<number>;
337
+ /**
338
+ * Forcefully apply compression.
339
+ */
340
+ forceCompression?: pulumi.Input<boolean>;
341
+ /**
342
+ * Ignore errors caused by failed cache exports.
343
+ */
344
+ ignoreError?: pulumi.Input<boolean>;
345
+ /**
346
+ * Export cache manifest as an OCI-compatible image manifest instead of a
347
+ * manifest list. Requires `ociMediaTypes` to also be `true`.
348
+ *
349
+ * Some registries like AWS ECR will not work with caching if this is
350
+ * `false`.
351
+ *
352
+ * Defaults to `false` to match Docker's default behavior.
353
+ */
354
+ imageManifest?: pulumi.Input<boolean>;
355
+ /**
356
+ * The cache mode to use. Defaults to `min`.
357
+ */
358
+ mode?: pulumi.Input<enums.CacheMode>;
359
+ /**
360
+ * Whether to use OCI media types in exported manifests. Defaults to
361
+ * `true`.
362
+ */
363
+ ociMediaTypes?: pulumi.Input<boolean>;
364
+ /**
365
+ * Fully qualified name of the cache image to import.
366
+ */
367
+ ref: pulumi.Input<string>;
368
+ }
369
+ /**
370
+ * cacheToRegistryArgsProvideDefaults sets the appropriate defaults for CacheToRegistryArgs
371
+ */
372
+ export declare function cacheToRegistryArgsProvideDefaults(val: CacheToRegistryArgs): CacheToRegistryArgs;
373
+ export interface CacheToS3Args {
374
+ /**
375
+ * Defaults to `$AWS_ACCESS_KEY_ID`.
376
+ */
377
+ accessKeyId?: pulumi.Input<string>;
378
+ /**
379
+ * Prefix to prepend to blob filenames.
380
+ */
381
+ blobsPrefix?: pulumi.Input<string>;
382
+ /**
383
+ * Name of the S3 bucket.
384
+ */
385
+ bucket: pulumi.Input<string>;
386
+ /**
387
+ * Endpoint of the S3 bucket.
388
+ */
389
+ endpointUrl?: pulumi.Input<string>;
390
+ /**
391
+ * Ignore errors caused by failed cache exports.
392
+ */
393
+ ignoreError?: pulumi.Input<boolean>;
394
+ /**
395
+ * Prefix to prepend on manifest filenames.
396
+ */
397
+ manifestsPrefix?: pulumi.Input<string>;
398
+ /**
399
+ * The cache mode to use. Defaults to `min`.
400
+ */
401
+ mode?: pulumi.Input<enums.CacheMode>;
402
+ /**
403
+ * Name of the cache image.
404
+ */
405
+ name?: pulumi.Input<string>;
406
+ /**
407
+ * The geographic location of the bucket. Defaults to `$AWS_REGION`.
408
+ */
409
+ region: pulumi.Input<string>;
410
+ /**
411
+ * Defaults to `$AWS_SECRET_ACCESS_KEY`.
412
+ */
413
+ secretAccessKey?: pulumi.Input<string>;
414
+ /**
415
+ * Defaults to `$AWS_SESSION_TOKEN`.
416
+ */
417
+ sessionToken?: pulumi.Input<string>;
418
+ /**
419
+ * Uses `bucket` in the URL instead of hostname when `true`.
420
+ */
421
+ usePathStyle?: pulumi.Input<boolean>;
422
+ }
423
+ /**
424
+ * cacheToS3ArgsProvideDefaults sets the appropriate defaults for CacheToS3Args
425
+ */
426
+ export declare function cacheToS3ArgsProvideDefaults(val: CacheToS3Args): CacheToS3Args;
427
+ export interface ContextArgs {
428
+ /**
429
+ * Resources to use for build context.
430
+ *
431
+ * The location can be:
432
+ * * A relative or absolute path to a local directory (`.`, `./app`,
433
+ * `/app`, etc.).
434
+ * * A remote URL of a Git repository, tarball, or plain text file
435
+ * (`https://github.com/user/myrepo.git`, `http://server/context.tar.gz`,
436
+ * etc.).
437
+ */
438
+ location: pulumi.Input<string>;
439
+ }
440
+ export interface DockerfileArgs {
441
+ /**
442
+ * Raw Dockerfile contents.
443
+ *
444
+ * Conflicts with `location`.
445
+ *
446
+ * Equivalent to invoking Docker with `-f -`.
447
+ */
448
+ inline?: pulumi.Input<string>;
449
+ /**
450
+ * Location of the Dockerfile to use.
451
+ *
452
+ * Can be a relative or absolute path to a local file, or a remote URL.
453
+ *
454
+ * Defaults to `${context.location}/Dockerfile` if context is on-disk.
455
+ *
456
+ * Conflicts with `inline`.
457
+ */
458
+ location?: pulumi.Input<string>;
459
+ }
460
+ export interface ExportArgs {
461
+ /**
462
+ * A no-op export. Helpful for silencing the 'no exports' warning if you
463
+ * just want to populate caches.
464
+ */
465
+ cacheonly?: pulumi.Input<inputs.ExportCacheOnlyArgs>;
466
+ /**
467
+ * When `true` this entry will be excluded. Defaults to `false`.
468
+ */
469
+ disabled?: pulumi.Input<boolean>;
470
+ /**
471
+ * Export as a Docker image layout.
472
+ */
473
+ docker?: pulumi.Input<inputs.ExportDockerArgs>;
474
+ /**
475
+ * Outputs the build result into a container image format.
476
+ */
477
+ image?: pulumi.Input<inputs.ExportImageArgs>;
478
+ /**
479
+ * Export to a local directory as files and directories.
480
+ */
481
+ local?: pulumi.Input<inputs.ExportLocalArgs>;
482
+ /**
483
+ * Identical to the Docker exporter but uses OCI media types by default.
484
+ */
485
+ oci?: pulumi.Input<inputs.ExportOCIArgs>;
486
+ /**
487
+ * A raw string as you would provide it to the Docker CLI (e.g.,
488
+ * `type=docker`)
489
+ */
490
+ raw?: pulumi.Input<string>;
491
+ /**
492
+ * Identical to the Image exporter, but pushes by default.
493
+ */
494
+ registry?: pulumi.Input<inputs.ExportRegistryArgs>;
495
+ /**
496
+ * Export to a local directory as a tarball.
497
+ */
498
+ tar?: pulumi.Input<inputs.ExportTarArgs>;
499
+ }
500
+ /**
501
+ * exportArgsProvideDefaults sets the appropriate defaults for ExportArgs
502
+ */
503
+ export declare function exportArgsProvideDefaults(val: ExportArgs): ExportArgs;
504
+ export interface ExportCacheOnlyArgs {
505
+ }
506
+ export interface ExportDockerArgs {
507
+ /**
508
+ * Attach an arbitrary key/value annotation to the image.
509
+ */
510
+ annotations?: pulumi.Input<{
511
+ [key: string]: pulumi.Input<string>;
512
+ }>;
513
+ /**
514
+ * The compression type to use.
515
+ */
516
+ compression?: pulumi.Input<enums.CompressionType>;
517
+ /**
518
+ * Compression level from 0 to 22.
519
+ */
520
+ compressionLevel?: pulumi.Input<number>;
521
+ /**
522
+ * The local export path.
523
+ */
524
+ dest?: pulumi.Input<string>;
525
+ /**
526
+ * Forcefully apply compression.
527
+ */
528
+ forceCompression?: pulumi.Input<boolean>;
529
+ /**
530
+ * Specify images names to export. This is overridden if tags are already specified.
531
+ */
532
+ names?: pulumi.Input<pulumi.Input<string>[]>;
533
+ /**
534
+ * Use OCI media types in exporter manifests.
535
+ */
536
+ ociMediaTypes?: pulumi.Input<boolean>;
537
+ /**
538
+ * Bundle the output into a tarball layout.
539
+ */
540
+ tar?: pulumi.Input<boolean>;
541
+ }
542
+ /**
543
+ * exportDockerArgsProvideDefaults sets the appropriate defaults for ExportDockerArgs
544
+ */
545
+ export declare function exportDockerArgsProvideDefaults(val: ExportDockerArgs): ExportDockerArgs;
546
+ export interface ExportImageArgs {
547
+ /**
548
+ * Attach an arbitrary key/value annotation to the image.
549
+ */
550
+ annotations?: pulumi.Input<{
551
+ [key: string]: pulumi.Input<string>;
552
+ }>;
553
+ /**
554
+ * The compression type to use.
555
+ */
556
+ compression?: pulumi.Input<enums.CompressionType>;
557
+ /**
558
+ * Compression level from 0 to 22.
559
+ */
560
+ compressionLevel?: pulumi.Input<number>;
561
+ /**
562
+ * Name image with `prefix@<digest>`, used for anonymous images.
563
+ */
564
+ danglingNamePrefix?: pulumi.Input<string>;
565
+ /**
566
+ * Forcefully apply compression.
567
+ */
568
+ forceCompression?: pulumi.Input<boolean>;
569
+ /**
570
+ * Allow pushing to an insecure registry.
571
+ */
572
+ insecure?: pulumi.Input<boolean>;
573
+ /**
574
+ * Add additional canonical name (`name@<digest>`).
575
+ */
576
+ nameCanonical?: pulumi.Input<boolean>;
577
+ /**
578
+ * Specify images names to export. This is overridden if tags are already specified.
579
+ */
580
+ names?: pulumi.Input<pulumi.Input<string>[]>;
581
+ /**
582
+ * Use OCI media types in exporter manifests.
583
+ */
584
+ ociMediaTypes?: pulumi.Input<boolean>;
585
+ /**
586
+ * Push after creating the image. Defaults to `false`.
587
+ */
588
+ push?: pulumi.Input<boolean>;
589
+ /**
590
+ * Push image without name.
591
+ */
592
+ pushByDigest?: pulumi.Input<boolean>;
593
+ /**
594
+ * Store resulting images to the worker's image store and ensure all of
595
+ * its blobs are in the content store.
596
+ *
597
+ * Defaults to `true`.
598
+ *
599
+ * Ignored if the worker doesn't have image store (when using OCI workers,
600
+ * for example).
601
+ */
602
+ store?: pulumi.Input<boolean>;
603
+ /**
604
+ * Unpack image after creation (for use with containerd). Defaults to
605
+ * `false`.
606
+ */
607
+ unpack?: pulumi.Input<boolean>;
608
+ }
609
+ /**
610
+ * exportImageArgsProvideDefaults sets the appropriate defaults for ExportImageArgs
611
+ */
612
+ export declare function exportImageArgsProvideDefaults(val: ExportImageArgs): ExportImageArgs;
613
+ export interface ExportLocalArgs {
614
+ /**
615
+ * Output path.
616
+ */
617
+ dest: pulumi.Input<string>;
618
+ }
619
+ export interface ExportOCIArgs {
620
+ /**
621
+ * Attach an arbitrary key/value annotation to the image.
622
+ */
623
+ annotations?: pulumi.Input<{
624
+ [key: string]: pulumi.Input<string>;
625
+ }>;
626
+ /**
627
+ * The compression type to use.
628
+ */
629
+ compression?: pulumi.Input<enums.CompressionType>;
630
+ /**
631
+ * Compression level from 0 to 22.
632
+ */
633
+ compressionLevel?: pulumi.Input<number>;
634
+ /**
635
+ * The local export path.
636
+ */
637
+ dest?: pulumi.Input<string>;
638
+ /**
639
+ * Forcefully apply compression.
640
+ */
641
+ forceCompression?: pulumi.Input<boolean>;
642
+ /**
643
+ * Specify images names to export. This is overridden if tags are already specified.
644
+ */
645
+ names?: pulumi.Input<pulumi.Input<string>[]>;
646
+ /**
647
+ * Use OCI media types in exporter manifests.
648
+ */
649
+ ociMediaTypes?: pulumi.Input<boolean>;
650
+ /**
651
+ * Bundle the output into a tarball layout.
652
+ */
653
+ tar?: pulumi.Input<boolean>;
654
+ }
655
+ /**
656
+ * exportOCIArgsProvideDefaults sets the appropriate defaults for ExportOCIArgs
657
+ */
658
+ export declare function exportOCIArgsProvideDefaults(val: ExportOCIArgs): ExportOCIArgs;
659
+ export interface ExportRegistryArgs {
660
+ /**
661
+ * Attach an arbitrary key/value annotation to the image.
662
+ */
663
+ annotations?: pulumi.Input<{
664
+ [key: string]: pulumi.Input<string>;
665
+ }>;
666
+ /**
667
+ * The compression type to use.
668
+ */
669
+ compression?: pulumi.Input<enums.CompressionType>;
670
+ /**
671
+ * Compression level from 0 to 22.
672
+ */
673
+ compressionLevel?: pulumi.Input<number>;
674
+ /**
675
+ * Name image with `prefix@<digest>`, used for anonymous images.
676
+ */
677
+ danglingNamePrefix?: pulumi.Input<string>;
678
+ /**
679
+ * Forcefully apply compression.
680
+ */
681
+ forceCompression?: pulumi.Input<boolean>;
682
+ /**
683
+ * Allow pushing to an insecure registry.
684
+ */
685
+ insecure?: pulumi.Input<boolean>;
686
+ /**
687
+ * Add additional canonical name (`name@<digest>`).
688
+ */
689
+ nameCanonical?: pulumi.Input<boolean>;
690
+ /**
691
+ * Specify images names to export. This is overridden if tags are already specified.
692
+ */
693
+ names?: pulumi.Input<pulumi.Input<string>[]>;
694
+ /**
695
+ * Use OCI media types in exporter manifests.
696
+ */
697
+ ociMediaTypes?: pulumi.Input<boolean>;
698
+ /**
699
+ * Push after creating the image. Defaults to `true`.
700
+ */
701
+ push?: pulumi.Input<boolean>;
702
+ /**
703
+ * Push image without name.
704
+ */
705
+ pushByDigest?: pulumi.Input<boolean>;
706
+ /**
707
+ * Store resulting images to the worker's image store and ensure all of
708
+ * its blobs are in the content store.
709
+ *
710
+ * Defaults to `true`.
711
+ *
712
+ * Ignored if the worker doesn't have image store (when using OCI workers,
713
+ * for example).
714
+ */
715
+ store?: pulumi.Input<boolean>;
716
+ /**
717
+ * Unpack image after creation (for use with containerd). Defaults to
718
+ * `false`.
719
+ */
720
+ unpack?: pulumi.Input<boolean>;
721
+ }
722
+ /**
723
+ * exportRegistryArgsProvideDefaults sets the appropriate defaults for ExportRegistryArgs
724
+ */
725
+ export declare function exportRegistryArgsProvideDefaults(val: ExportRegistryArgs): ExportRegistryArgs;
726
+ export interface ExportTarArgs {
727
+ /**
728
+ * Output path.
729
+ */
730
+ dest: pulumi.Input<string>;
731
+ }
732
+ export interface RegistryArgs {
733
+ /**
734
+ * The registry's address (e.g. "docker.io").
735
+ */
736
+ address: pulumi.Input<string>;
737
+ /**
738
+ * Password or token for the registry.
739
+ */
740
+ password?: pulumi.Input<string>;
741
+ /**
742
+ * Username for the registry.
743
+ */
744
+ username?: pulumi.Input<string>;
745
+ }
746
+ export interface SSHArgs {
747
+ /**
748
+ * Useful for distinguishing different servers that are part of the same
749
+ * build.
750
+ *
751
+ * A value of `default` is appropriate if only dealing with a single host.
752
+ */
753
+ id: pulumi.Input<string>;
754
+ /**
755
+ * SSH agent socket or private keys to expose to the build under the given
756
+ * identifier.
757
+ *
758
+ * Defaults to `[$SSH_AUTH_SOCK]`.
759
+ *
760
+ * Note that your keys are **not** automatically added when using an
761
+ * agent. Run `ssh-add -l` locally to confirm which public keys are
762
+ * visible to the agent; these will be exposed to your build.
763
+ */
764
+ paths?: pulumi.Input<pulumi.Input<string>[]>;
765
+ }