@pulumi/docker 3.1.0-alpha.1626976245 → 3.1.0

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.
package/types/input.d.ts CHANGED
@@ -1,205 +1,85 @@
1
1
  import * as pulumi from "@pulumi/pulumi";
2
2
  import { input as inputs } from "../types";
3
3
  export interface ContainerCapabilities {
4
- /**
5
- * list of linux capabilities to add.
6
- */
7
4
  adds?: pulumi.Input<pulumi.Input<string>[]>;
8
- /**
9
- * list of linux capabilities to drop.
10
- */
11
5
  drops?: pulumi.Input<pulumi.Input<string>[]>;
12
6
  }
13
7
  export interface ContainerDevice {
14
- /**
15
- * The path in the container where the
16
- * device will be binded.
17
- */
18
8
  containerPath?: pulumi.Input<string>;
19
- /**
20
- * The path on the host where the device
21
- * is located.
22
- */
23
9
  hostPath: pulumi.Input<string>;
24
- /**
25
- * The cgroup permissions given to the
26
- * container to access the device.
27
- * Defaults to `rwm`.
28
- */
29
10
  permissions?: pulumi.Input<string>;
30
11
  }
31
12
  export interface ContainerHealthcheck {
32
- /**
33
- * Time between running the check `(ms|s|m|h)`. Default: `0s`.
34
- */
35
13
  interval?: pulumi.Input<string>;
36
- /**
37
- * Consecutive failures needed to report unhealthy. Default: `0`.
38
- */
39
14
  retries?: pulumi.Input<number>;
40
- /**
41
- * Start period for the container to initialize before counting retries towards unstable `(ms|s|m|h)`. Default: `0s`.
42
- */
43
15
  startPeriod?: pulumi.Input<string>;
44
- /**
45
- * Command to run to check health. For example, to run `curl -f http://localhost/health` set the
46
- * command to be `["CMD", "curl", "-f", "http://localhost/health"]`.
47
- */
48
16
  tests: pulumi.Input<pulumi.Input<string>[]>;
49
- /**
50
- * Maximum time to allow one check to run `(ms|s|m|h)`. Default: `0s`.
51
- */
52
17
  timeout?: pulumi.Input<string>;
53
18
  }
54
19
  export interface ContainerHost {
55
- /**
56
- * Hostname to add.
57
- */
58
20
  host: pulumi.Input<string>;
59
- /**
60
- * IP address this hostname should resolve to.
61
- */
62
21
  ip: pulumi.Input<string>;
63
22
  }
64
23
  export interface ContainerLabel {
65
- /**
66
- * Name of the label
67
- */
68
24
  label: pulumi.Input<string>;
69
- /**
70
- * Value of the label
71
- */
72
25
  value: pulumi.Input<string>;
73
26
  }
74
27
  export interface ContainerMount {
75
- /**
76
- * Optional configuration for the `bind` type.
77
- */
78
28
  bindOptions?: pulumi.Input<inputs.ContainerMountBindOptions>;
79
- /**
80
- * If true, this volume will be readonly.
81
- * Defaults to false.
82
- */
83
29
  readOnly?: pulumi.Input<boolean>;
84
- /**
85
- * The mount source (e.g., a volume name, a host path)
86
- */
87
30
  source?: pulumi.Input<string>;
88
- /**
89
- * The container path.
90
- */
91
31
  target: pulumi.Input<string>;
92
- /**
93
- * Optional configuration for the `tmpf` type.
94
- */
95
32
  tmpfsOptions?: pulumi.Input<inputs.ContainerMountTmpfsOptions>;
96
- /**
97
- * The mount type: valid values are `bind|volume|tmpfs`.
98
- */
99
33
  type: pulumi.Input<string>;
100
- /**
101
- * Optional configuration for the `volume` type.
102
- */
103
34
  volumeOptions?: pulumi.Input<inputs.ContainerMountVolumeOptions>;
104
35
  }
105
36
  export interface ContainerMountBindOptions {
106
- /**
107
- * A propagation mode with the value.
108
- */
109
37
  propagation?: pulumi.Input<string>;
110
38
  }
111
39
  export interface ContainerMountTmpfsOptions {
112
- /**
113
- * The permission mode for the tmpfs mount in an integer.
114
- */
115
40
  mode?: pulumi.Input<number>;
116
- /**
117
- * The size for the tmpfs mount in bytes.
118
- */
119
41
  sizeBytes?: pulumi.Input<number>;
120
42
  }
121
43
  export interface ContainerMountVolumeOptions {
122
44
  driverName?: pulumi.Input<string>;
123
- /**
124
- * Options for the driver.
125
- */
126
45
  driverOptions?: pulumi.Input<{
127
46
  [key: string]: pulumi.Input<string>;
128
47
  }>;
129
- /**
130
- * Adding labels.
131
- */
132
48
  labels?: pulumi.Input<pulumi.Input<inputs.ContainerMountVolumeOptionsLabel>[]>;
133
- /**
134
- * Whether to populate volume with data from the target.
135
- */
136
49
  noCopy?: pulumi.Input<boolean>;
137
50
  }
138
51
  export interface ContainerMountVolumeOptionsLabel {
139
- /**
140
- * Name of the label
141
- */
142
52
  label: pulumi.Input<string>;
143
- /**
144
- * Value of the label
145
- */
146
53
  value: pulumi.Input<string>;
147
54
  }
148
55
  export interface ContainerNetworkData {
149
56
  /**
150
- * *Deprecated:* Use `networkData` instead. The network gateway of the container as read from its
151
- * NetworkSettings.
57
+ * @deprecated Use `network_data` instead. The network gateway of the container as read from its NetworkSettings.
152
58
  */
153
59
  gateway?: pulumi.Input<string>;
154
60
  globalIpv6Address?: pulumi.Input<string>;
155
61
  globalIpv6PrefixLength?: pulumi.Input<number>;
156
62
  /**
157
- * *Deprecated:* Use `networkData` instead. The IP address of the container's first network it.
63
+ * @deprecated Use `network_data` instead. The IP address of the container's first network it.
158
64
  */
159
65
  ipAddress?: pulumi.Input<string>;
160
66
  /**
161
- * *Deprecated:* Use `networkData` instead. The IP prefix length of the container as read from its
162
- * NetworkSettings.
67
+ * @deprecated Use `network_data` instead. The IP prefix length of the container as read from its NetworkSettings.
163
68
  */
164
69
  ipPrefixLength?: pulumi.Input<number>;
165
70
  ipv6Gateway?: pulumi.Input<string>;
166
71
  networkName?: pulumi.Input<string>;
167
72
  }
168
73
  export interface ContainerNetworksAdvanced {
169
- /**
170
- * The network aliases of the container in the specific network.
171
- */
172
74
  aliases?: pulumi.Input<pulumi.Input<string>[]>;
173
- /**
174
- * The IPV4 address of the container in the specific network.
175
- */
176
75
  ipv4Address?: pulumi.Input<string>;
177
- /**
178
- * The IPV6 address of the container in the specific network.
179
- */
180
76
  ipv6Address?: pulumi.Input<string>;
181
- /**
182
- * The name of the network.
183
- */
184
77
  name: pulumi.Input<string>;
185
78
  }
186
79
  export interface ContainerPort {
187
- /**
188
- * Port exposed out of the container. If not given a free random port `>= 32768` will be used.
189
- */
190
80
  external?: pulumi.Input<number>;
191
- /**
192
- * Port within the container.
193
- */
194
81
  internal: pulumi.Input<number>;
195
- /**
196
- * IP address this hostname should resolve to.
197
- */
198
82
  ip?: pulumi.Input<string>;
199
- /**
200
- * Protocol that can be used over this port,
201
- * defaults to `tcp`.
202
- */
203
83
  protocol?: pulumi.Input<string>;
204
84
  }
205
85
  export interface ContainerUlimit {
@@ -208,55 +88,18 @@ export interface ContainerUlimit {
208
88
  soft: pulumi.Input<number>;
209
89
  }
210
90
  export interface ContainerUpload {
211
- /**
212
- * Literal string value to use as the object content, which will be uploaded as UTF-8-encoded text.
213
- */
214
91
  content?: pulumi.Input<string>;
215
92
  contentBase64?: pulumi.Input<string>;
216
- /**
217
- * If true, the file will be uploaded with user
218
- * executable permission.
219
- * Defaults to false.
220
- */
221
93
  executable?: pulumi.Input<boolean>;
222
- /**
223
- * path to a file in the container.
224
- */
225
94
  file: pulumi.Input<string>;
226
- /**
227
- * A filename that references a file which will be uploaded as the object content. This allows for large file uploads that do not get stored in state.
228
- */
229
95
  source?: pulumi.Input<string>;
230
- /**
231
- * If using `source`, this will force an update if the file content has updated but the filename has not.
232
- */
233
96
  sourceHash?: pulumi.Input<string>;
234
97
  }
235
98
  export interface ContainerVolume {
236
- /**
237
- * The path in the container where the
238
- * device will be binded.
239
- */
240
99
  containerPath?: pulumi.Input<string>;
241
- /**
242
- * The container where the volume is
243
- * coming from.
244
- */
245
100
  fromContainer?: pulumi.Input<string>;
246
- /**
247
- * The path on the host where the device
248
- * is located.
249
- */
250
101
  hostPath?: pulumi.Input<string>;
251
- /**
252
- * If true, this volume will be readonly.
253
- * Defaults to false.
254
- */
255
102
  readOnly?: pulumi.Input<boolean>;
256
- /**
257
- * The name of the docker volume which
258
- * should be mounted.
259
- */
260
103
  volumeName?: pulumi.Input<string>;
261
104
  }
262
105
  export interface NetworkIpamConfig {
@@ -268,13 +111,7 @@ export interface NetworkIpamConfig {
268
111
  subnet?: pulumi.Input<string>;
269
112
  }
270
113
  export interface NetworkLabel {
271
- /**
272
- * Name of the label
273
- */
274
114
  label: pulumi.Input<string>;
275
- /**
276
- * Value of the label
277
- */
278
115
  value: pulumi.Input<string>;
279
116
  }
280
117
  export interface PluginGrantPermission {
@@ -289,191 +126,62 @@ export interface ProviderRegistryAuth {
289
126
  username?: pulumi.Input<string>;
290
127
  }
291
128
  export interface RegistryImageBuild {
292
- /**
293
- * - See AuthConfig below for details
294
- */
295
129
  authConfigs?: pulumi.Input<pulumi.Input<inputs.RegistryImageBuildAuthConfig>[]>;
296
- /**
297
- * string pairs for build-time variables
298
- */
299
130
  buildArgs?: pulumi.Input<{
300
131
  [key: string]: pulumi.Input<string>;
301
132
  }>;
302
- /**
303
- * - BuildID is an optional identifier that can be passed together with the build request. The same identifier can be used to gracefully cancel the build with the cancel request
304
- */
305
133
  buildId?: pulumi.Input<string>;
306
- /**
307
- * - Images to consider as cache sources
308
- */
309
134
  cacheFroms?: pulumi.Input<pulumi.Input<string>[]>;
310
- /**
311
- * - Optional parent cgroup for the container
312
- */
313
135
  cgroupParent?: pulumi.Input<string>;
314
- /**
315
- * - The path to the context folder
316
- */
317
136
  context: pulumi.Input<string>;
318
- /**
319
- * - The length of a CPU period in microseconds
320
- */
321
137
  cpuPeriod?: pulumi.Input<number>;
322
- /**
323
- * - Microseconds of CPU time that the container can get in a CPU period
324
- */
325
138
  cpuQuota?: pulumi.Input<number>;
326
- /**
327
- * - CPUs in which to allow execution (e.g., 0-3, 0,1)
328
- */
329
139
  cpuSetCpus?: pulumi.Input<string>;
330
- /**
331
- * - MEMs in which to allow execution (0-3, 0,1)
332
- */
333
140
  cpuSetMems?: pulumi.Input<string>;
334
- /**
335
- * - CPU shares (relative weight)
336
- */
337
141
  cpuShares?: pulumi.Input<number>;
338
- /**
339
- * - Dockerfile file. Default is "Dockerfile"
340
- */
341
142
  dockerfile?: pulumi.Input<string>;
342
- /**
343
- * - A list of hostnames/IP mappings to add to the container’s /etc/hosts file. Specified in the form ["hostname:IP"]
344
- */
345
143
  extraHosts?: pulumi.Input<pulumi.Input<string>[]>;
346
- /**
347
- * - Always remove intermediate containers
348
- */
349
144
  forceRemove?: pulumi.Input<boolean>;
350
- /**
351
- * - Isolation represents the isolation technology of a container. The supported values are platform specific
352
- */
353
145
  isolation?: pulumi.Input<string>;
354
- /**
355
- * string pairs for labels
356
- */
357
146
  labels?: pulumi.Input<{
358
147
  [key: string]: pulumi.Input<string>;
359
148
  }>;
360
- /**
361
- * - Set memory limit for build
362
- */
363
149
  memory?: pulumi.Input<number>;
364
- /**
365
- * - Total memory (memory + swap), -1 to enable unlimited swap
366
- */
367
150
  memorySwap?: pulumi.Input<number>;
368
- /**
369
- * - Set the networking mode for the RUN instructions during build
370
- */
371
151
  networkMode?: pulumi.Input<string>;
372
- /**
373
- * - Do not use the cache when building the image
374
- */
375
152
  noCache?: pulumi.Input<boolean>;
376
- /**
377
- * - Set platform if server is multi-platform capable
378
- */
379
153
  platform?: pulumi.Input<string>;
380
- /**
381
- * - Attempt to pull the image even if an older image exists locally
382
- */
383
154
  pullParent?: pulumi.Input<boolean>;
384
- /**
385
- * - A Git repository URI or HTTP/HTTPS context URI
386
- */
387
155
  remoteContext?: pulumi.Input<string>;
388
- /**
389
- * - Remove intermediate containers after a successful build (default behavior)
390
- */
391
156
  remove?: pulumi.Input<boolean>;
392
- /**
393
- * - Security options
394
- */
395
157
  securityOpts?: pulumi.Input<pulumi.Input<string>[]>;
396
158
  sessionId?: pulumi.Input<string>;
397
- /**
398
- * - Size of /dev/shm in bytes. The size must be greater than 0
399
- */
400
159
  shmSize?: pulumi.Input<number>;
401
- /**
402
- * - squash the new layers into a new image with a single new layer
403
- */
404
160
  squash?: pulumi.Input<boolean>;
405
- /**
406
- * - Suppress the build output and print image ID on success
407
- */
408
161
  suppressOutput?: pulumi.Input<boolean>;
409
- /**
410
- * - Set the target build stage to build
411
- */
412
162
  target?: pulumi.Input<string>;
413
- /**
414
- * - See Ulimit below for details
415
- */
416
163
  ulimits?: pulumi.Input<pulumi.Input<inputs.RegistryImageBuildUlimit>[]>;
417
- /**
418
- * - Version of the unerlying builder to use
419
- */
420
164
  version?: pulumi.Input<string>;
421
165
  }
422
166
  export interface RegistryImageBuildAuthConfig {
423
- /**
424
- * the auth token
425
- */
426
167
  auth?: pulumi.Input<string>;
427
- /**
428
- * the user emal
429
- */
430
168
  email?: pulumi.Input<string>;
431
- /**
432
- * hostname of the registry
433
- */
434
169
  hostName: pulumi.Input<string>;
435
- /**
436
- * the identity token
437
- */
438
170
  identityToken?: pulumi.Input<string>;
439
- /**
440
- * the registry password
441
- */
442
171
  password?: pulumi.Input<string>;
443
- /**
444
- * the registry token
445
- */
446
172
  registryToken?: pulumi.Input<string>;
447
- /**
448
- * the server address
449
- */
450
173
  serverAddress?: pulumi.Input<string>;
451
- /**
452
- * the registry user name
453
- */
454
174
  userName?: pulumi.Input<string>;
455
175
  }
456
176
  export interface RegistryImageBuildUlimit {
457
- /**
458
- * - hard limit
459
- */
460
177
  hard: pulumi.Input<number>;
461
- /**
462
- * type of ulimit, e.g. nofile
463
- */
464
178
  name: pulumi.Input<string>;
465
- /**
466
- * - soft limit
467
- */
468
179
  soft: pulumi.Input<number>;
469
180
  }
470
181
  export interface RemoteImageBuild {
471
182
  buildArg?: pulumi.Input<{
472
183
  [key: string]: pulumi.Input<string>;
473
184
  }>;
474
- /**
475
- * default Dockerfile
476
- */
477
185
  dockerfile?: pulumi.Input<string>;
478
186
  forceRemove?: pulumi.Input<boolean>;
479
187
  label?: pulumi.Input<{
@@ -481,373 +189,129 @@ export interface RemoteImageBuild {
481
189
  }>;
482
190
  noCache?: pulumi.Input<boolean>;
483
191
  path: pulumi.Input<string>;
484
- /**
485
- * default true
486
- */
487
192
  remove?: pulumi.Input<boolean>;
488
193
  tags?: pulumi.Input<pulumi.Input<string>[]>;
489
194
  target?: pulumi.Input<string>;
490
195
  }
491
196
  export interface SecretLabel {
492
- /**
493
- * Name of the label
494
- */
495
197
  label: pulumi.Input<string>;
496
- /**
497
- * Value of the label
498
- */
499
198
  value: pulumi.Input<string>;
500
199
  }
501
200
  export interface ServiceAuth {
502
- /**
503
- * The password to use for authenticating to the registry. If this is blank, the `DOCKER_REGISTRY_PASS` is also be checked.
504
- */
505
201
  password?: pulumi.Input<string>;
506
- /**
507
- * The address of the registry server
508
- */
509
202
  serverAddress: pulumi.Input<string>;
510
- /**
511
- * The username to use for authenticating to the registry. If this is blank, the `DOCKER_REGISTRY_USER` is also be checked.
512
- */
513
203
  username?: pulumi.Input<string>;
514
204
  }
515
205
  export interface ServiceConvergeConfig {
516
- /**
517
- * Time between each the check to check docker endpoint `(ms|s|m|h)`. For example, to check if
518
- * all tasks are up when a service is created, or to check if all tasks are successfully updated on an update. Default: `7s`.
519
- */
520
206
  delay?: pulumi.Input<string>;
521
- /**
522
- * The timeout of the service to reach the desired state `(s|m)`. Default: `3m`.
523
- */
524
207
  timeout?: pulumi.Input<string>;
525
208
  }
526
209
  export interface ServiceEndpointSpec {
527
- /**
528
- * The mode of resolution to use for internal load balancing between tasks. `(vip|dnsrr)`. Default: `vip`.
529
- */
530
210
  mode?: pulumi.Input<string>;
531
- /**
532
- * See Ports below for details.
533
- */
534
211
  ports?: pulumi.Input<pulumi.Input<inputs.ServiceEndpointSpecPort>[]>;
535
212
  }
536
213
  export interface ServiceEndpointSpecPort {
537
- /**
538
- * The name of the Docker service.
539
- */
540
214
  name?: pulumi.Input<string>;
541
- /**
542
- * Protocol that can be used over this port: `tcp|udp|sctp`. Default: `tcp`.
543
- */
544
215
  protocol?: pulumi.Input<string>;
545
- /**
546
- * Represents the mode in which the port is to be published: `ingress|host`
547
- */
548
216
  publishMode?: pulumi.Input<string>;
549
- /**
550
- * The port on the swarm hosts. If not set the value of `targetPort` will be used.
551
- */
552
217
  publishedPort?: pulumi.Input<number>;
553
- /**
554
- * Port inside the container.
555
- */
556
218
  targetPort: pulumi.Input<number>;
557
219
  }
558
220
  export interface ServiceLabel {
559
- /**
560
- * Name of the label
561
- */
562
221
  label: pulumi.Input<string>;
563
- /**
564
- * Value of the label
565
- */
566
222
  value: pulumi.Input<string>;
567
223
  }
568
224
  export interface ServiceMode {
569
- /**
570
- * set it to `true` to run the service in the global mode
571
- */
572
225
  global?: pulumi.Input<boolean>;
573
- /**
574
- * , which contains atm only the amount of `replicas`
575
- */
576
226
  replicated?: pulumi.Input<inputs.ServiceModeReplicated>;
577
227
  }
578
228
  export interface ServiceModeReplicated {
579
229
  replicas?: pulumi.Input<number>;
580
230
  }
581
231
  export interface ServiceRollbackConfig {
582
- /**
583
- * Delay between restart attempts `(ms|s|m|h)`
584
- * all tasks are up when a service is created, or to check if all tasks are successfully updated on an update. Default: `7s`.
585
- */
586
232
  delay?: pulumi.Input<string>;
587
- /**
588
- * Action on update failure: `pause|continue|rollback`.
589
- */
590
233
  failureAction?: pulumi.Input<string>;
591
- /**
592
- * The failure rate to tolerate during an update as `float`. **Important:** the `float`need to be wrapped in a `string` to avoid internal
593
- * casting and precision errors.
594
- */
595
234
  maxFailureRatio?: pulumi.Input<string>;
596
- /**
597
- * Duration after each task update to monitor for failure `(ns|us|ms|s|m|h)`
598
- */
599
235
  monitor?: pulumi.Input<string>;
600
- /**
601
- * Update order either 'stop-first' or 'start-first'.
602
- */
603
236
  order?: pulumi.Input<string>;
604
- /**
605
- * The maximum number of tasks to be updated in one iteration simultaneously (0 to update all at once).
606
- */
607
237
  parallelism?: pulumi.Input<number>;
608
238
  }
609
239
  export interface ServiceTaskSpec {
610
- /**
611
- * See ContainerSpec below for details.
612
- */
613
240
  containerSpec: pulumi.Input<inputs.ServiceTaskSpecContainerSpec>;
614
- /**
615
- * A counter that triggers an update even if no relevant parameters have been changed. See [Docker Spec](https://github.com/docker/swarmkit/blob/master/api/specs.proto#L126).
616
- */
617
241
  forceUpdate?: pulumi.Input<number>;
618
- /**
619
- * See Log Driver below for details.
620
- */
621
242
  logDriver?: pulumi.Input<inputs.ServiceTaskSpecLogDriver>;
622
- /**
623
- * Ids of the networks in which the container will be put in.
624
- */
625
243
  networks?: pulumi.Input<pulumi.Input<string>[]>;
626
- /**
627
- * See Placement below for details.
628
- */
629
244
  placement?: pulumi.Input<inputs.ServiceTaskSpecPlacement>;
630
- /**
631
- * See Resources below for details.
632
- */
633
245
  resources?: pulumi.Input<inputs.ServiceTaskSpecResources>;
634
- /**
635
- * See Restart Policy below for details.
636
- */
637
246
  restartPolicy?: pulumi.Input<inputs.ServiceTaskSpecRestartPolicy>;
638
- /**
639
- * Runtime is the type of runtime specified for the task executor. See [Docker Runtime](https://github.com/moby/moby/blob/master/api/types/swarm/runtime.go).
640
- */
641
247
  runtime?: pulumi.Input<string>;
642
248
  }
643
249
  export interface ServiceTaskSpecContainerSpec {
644
- /**
645
- * Arguments to the command.
646
- */
647
250
  args?: pulumi.Input<pulumi.Input<string>[]>;
648
- /**
649
- * The command to be run in the image.
650
- */
651
251
  commands?: pulumi.Input<pulumi.Input<string>[]>;
652
- /**
653
- * See Configs below for details.
654
- */
655
252
  configs?: pulumi.Input<pulumi.Input<inputs.ServiceTaskSpecContainerSpecConfig>[]>;
656
- /**
657
- * The working directory for commands to run in.
658
- */
659
253
  dir?: pulumi.Input<string>;
660
- /**
661
- * See DNS Config below for details.
662
- */
663
254
  dnsConfig?: pulumi.Input<inputs.ServiceTaskSpecContainerSpecDnsConfig>;
664
- /**
665
- * A list of environment variables in the form VAR=value.
666
- */
667
255
  env?: pulumi.Input<{
668
256
  [key: string]: pulumi.Input<string>;
669
257
  }>;
670
- /**
671
- * A list of additional groups that the container process will run as.
672
- */
673
258
  groups?: pulumi.Input<pulumi.Input<string>[]>;
674
- /**
675
- * See Healthcheck below for details.
676
- */
677
259
  healthcheck?: pulumi.Input<inputs.ServiceTaskSpecContainerSpecHealthcheck>;
678
- /**
679
- * The hostname to use for the container, as a valid RFC 1123 hostname.
680
- */
681
260
  hostname?: pulumi.Input<string>;
682
261
  hosts?: pulumi.Input<pulumi.Input<inputs.ServiceTaskSpecContainerSpecHost>[]>;
683
- /**
684
- * The image used to create the Docker service.
685
- */
686
262
  image: pulumi.Input<string>;
687
- /**
688
- * Isolation technology of the containers running the service. (Windows only). Valid values are: `default|process|hyperv`
689
- */
690
263
  isolation?: pulumi.Input<string>;
691
- /**
692
- * See Labels below for details.
693
- */
694
264
  labels?: pulumi.Input<pulumi.Input<inputs.ServiceTaskSpecContainerSpecLabel>[]>;
695
- /**
696
- * See Mounts below for details.
697
- */
698
265
  mounts?: pulumi.Input<pulumi.Input<inputs.ServiceTaskSpecContainerSpecMount>[]>;
699
- /**
700
- * See Privileges below for details.
701
- */
702
266
  privileges?: pulumi.Input<inputs.ServiceTaskSpecContainerSpecPrivileges>;
703
- /**
704
- * Mount the container's root filesystem as read only.
705
- */
706
267
  readOnly?: pulumi.Input<boolean>;
707
- /**
708
- * See Secrets below for details.
709
- */
710
268
  secrets?: pulumi.Input<pulumi.Input<inputs.ServiceTaskSpecContainerSpecSecret>[]>;
711
- /**
712
- * Amount of time to wait for the container to terminate before forcefully removing it `(ms|s|m|h)`.
713
- */
714
269
  stopGracePeriod?: pulumi.Input<string>;
715
- /**
716
- * Signal to stop the container.
717
- */
718
270
  stopSignal?: pulumi.Input<string>;
719
- /**
720
- * The user inside the container.
721
- */
722
271
  user?: pulumi.Input<string>;
723
272
  }
724
273
  export interface ServiceTaskSpecContainerSpecConfig {
725
- /**
726
- * ConfigID represents the ID of the specific config.
727
- */
728
274
  configId: pulumi.Input<string>;
729
- /**
730
- * The name of the config that this references, but internally it is just provided for lookup/display purposes
731
- */
732
275
  configName?: pulumi.Input<string>;
733
- /**
734
- * Represents the file GID. Defaults: `0`
735
- */
736
276
  fileGid?: pulumi.Input<string>;
737
- /**
738
- * Represents the FileMode of the file. Defaults: `0444`
739
- */
740
277
  fileMode?: pulumi.Input<number>;
741
- /**
742
- * Represents the final filename in the filesystem. The specific target file that the config data is written within the docker container, e.g. `/root/config/config.json`
743
- */
744
278
  fileName: pulumi.Input<string>;
745
- /**
746
- * Represents the file UID. Defaults: `0`
747
- */
748
279
  fileUid?: pulumi.Input<string>;
749
280
  }
750
281
  export interface ServiceTaskSpecContainerSpecDnsConfig {
751
- /**
752
- * The IP addresses of the name servers, for example, `8.8.8.8`
753
- */
754
282
  nameservers: pulumi.Input<pulumi.Input<string>[]>;
755
- /**
756
- * A list of internal resolver variables to be modified, for example, `debug`, `ndots:3`
757
- */
758
283
  options?: pulumi.Input<pulumi.Input<string>[]>;
759
- /**
760
- * A search list for host-name lookup.
761
- */
762
284
  searches?: pulumi.Input<pulumi.Input<string>[]>;
763
285
  }
764
286
  export interface ServiceTaskSpecContainerSpecHealthcheck {
765
- /**
766
- * Time between running the check `(ms|s|m|h)`. Default: `0s`.
767
- */
768
287
  interval?: pulumi.Input<string>;
769
- /**
770
- * Consecutive failures needed to report unhealthy. Default: `0`.
771
- */
772
288
  retries?: pulumi.Input<number>;
773
- /**
774
- * Start period for the container to initialize before counting retries towards unstable `(ms|s|m|h)`. Default: `0s`.
775
- */
776
289
  startPeriod?: pulumi.Input<string>;
777
- /**
778
- * Command to run to check health. For example, to run `curl -f http://localhost/health` set the
779
- * command to be `["CMD", "curl", "-f", "http://localhost/health"]`.
780
- */
781
290
  tests: pulumi.Input<pulumi.Input<string>[]>;
782
- /**
783
- * Maximum time to allow one check to run `(ms|s|m|h)`. Default: `0s`.
784
- */
785
291
  timeout?: pulumi.Input<string>;
786
292
  }
787
293
  export interface ServiceTaskSpecContainerSpecHost {
788
- /**
789
- * A list of hostname/IP mappings to add to the container's hosts file.
790
- */
791
294
  host: pulumi.Input<string>;
792
- /**
793
- * The ip
794
- */
795
295
  ip: pulumi.Input<string>;
796
296
  }
797
297
  export interface ServiceTaskSpecContainerSpecLabel {
798
- /**
799
- * Name of the label
800
- */
801
298
  label: pulumi.Input<string>;
802
- /**
803
- * Value of the label
804
- */
805
299
  value: pulumi.Input<string>;
806
300
  }
807
301
  export interface ServiceTaskSpecContainerSpecMount {
808
- /**
809
- * Optional configuration for the `bind` type.
810
- */
811
302
  bindOptions?: pulumi.Input<inputs.ServiceTaskSpecContainerSpecMountBindOptions>;
812
- /**
813
- * Mount the container's root filesystem as read only.
814
- */
815
303
  readOnly?: pulumi.Input<boolean>;
816
- /**
817
- * The mount source (e.g., a volume name, a host path)
818
- */
819
304
  source?: pulumi.Input<string>;
820
- /**
821
- * The container path.
822
- */
823
305
  target: pulumi.Input<string>;
824
- /**
825
- * Optional configuration for the `tmpf` type.
826
- */
827
306
  tmpfsOptions?: pulumi.Input<inputs.ServiceTaskSpecContainerSpecMountTmpfsOptions>;
828
- /**
829
- * SELinux type label
830
- */
831
307
  type: pulumi.Input<string>;
832
- /**
833
- * Optional configuration for the `volume` type.
834
- */
835
308
  volumeOptions?: pulumi.Input<inputs.ServiceTaskSpecContainerSpecMountVolumeOptions>;
836
309
  }
837
310
  export interface ServiceTaskSpecContainerSpecMountBindOptions {
838
- /**
839
- * A propagation mode with the value.
840
- */
841
311
  propagation?: pulumi.Input<string>;
842
312
  }
843
313
  export interface ServiceTaskSpecContainerSpecMountTmpfsOptions {
844
- /**
845
- * See Mode below for details.
846
- */
847
314
  mode?: pulumi.Input<number>;
848
- /**
849
- * The size for the tmpfs mount in bytes.
850
- */
851
315
  sizeBytes?: pulumi.Input<number>;
852
316
  }
853
317
  export interface ServiceTaskSpecContainerSpecMountVolumeOptions {
@@ -855,234 +319,81 @@ export interface ServiceTaskSpecContainerSpecMountVolumeOptions {
855
319
  driverOptions?: pulumi.Input<{
856
320
  [key: string]: pulumi.Input<string>;
857
321
  }>;
858
- /**
859
- * See Labels below for details.
860
- */
861
322
  labels?: pulumi.Input<pulumi.Input<inputs.ServiceTaskSpecContainerSpecMountVolumeOptionsLabel>[]>;
862
- /**
863
- * Whether to populate volume with data from the target.
864
- */
865
323
  noCopy?: pulumi.Input<boolean>;
866
324
  }
867
325
  export interface ServiceTaskSpecContainerSpecMountVolumeOptionsLabel {
868
- /**
869
- * Name of the label
870
- */
871
326
  label: pulumi.Input<string>;
872
- /**
873
- * Value of the label
874
- */
875
327
  value: pulumi.Input<string>;
876
328
  }
877
329
  export interface ServiceTaskSpecContainerSpecPrivileges {
878
- /**
879
- * For managed service account (Windows only)
880
- */
881
330
  credentialSpec?: pulumi.Input<inputs.ServiceTaskSpecContainerSpecPrivilegesCredentialSpec>;
882
- /**
883
- * SELinux labels of the container
884
- */
885
331
  seLinuxContext?: pulumi.Input<inputs.ServiceTaskSpecContainerSpecPrivilegesSeLinuxContext>;
886
332
  }
887
333
  export interface ServiceTaskSpecContainerSpecPrivilegesCredentialSpec {
888
- /**
889
- * Load credential spec from this file.
890
- */
891
334
  file?: pulumi.Input<string>;
892
- /**
893
- * Load credential spec from this value in the Windows registry.
894
- */
895
335
  registry?: pulumi.Input<string>;
896
336
  }
897
337
  export interface ServiceTaskSpecContainerSpecPrivilegesSeLinuxContext {
898
- /**
899
- * Disable SELinux
900
- */
901
338
  disable?: pulumi.Input<boolean>;
902
- /**
903
- * SELinux level label
904
- */
905
339
  level?: pulumi.Input<string>;
906
- /**
907
- * SELinux role label
908
- */
909
340
  role?: pulumi.Input<string>;
910
- /**
911
- * SELinux type label
912
- */
913
341
  type?: pulumi.Input<string>;
914
- /**
915
- * The user inside the container.
916
- */
917
342
  user?: pulumi.Input<string>;
918
343
  }
919
344
  export interface ServiceTaskSpecContainerSpecSecret {
920
- /**
921
- * Represents the file GID. Defaults: `0`
922
- */
923
345
  fileGid?: pulumi.Input<string>;
924
- /**
925
- * Represents the FileMode of the file. Defaults: `0444`
926
- */
927
346
  fileMode?: pulumi.Input<number>;
928
- /**
929
- * Represents the final filename in the filesystem. The specific target file that the secret data is written within the docker container, e.g. `/root/secret/secret.json`
930
- */
931
347
  fileName: pulumi.Input<string>;
932
- /**
933
- * Represents the file UID. Defaults: `0`
934
- */
935
348
  fileUid?: pulumi.Input<string>;
936
- /**
937
- * ConfigID represents the ID of the specific secret.
938
- */
939
349
  secretId: pulumi.Input<string>;
940
- /**
941
- * The name of the secret that this references, but internally it is just provided for lookup/display purposes
942
- */
943
350
  secretName?: pulumi.Input<string>;
944
351
  }
945
352
  export interface ServiceTaskSpecLogDriver {
946
- /**
947
- * The logging driver to use. Either `(none|json-file|syslog|journald|gelf|fluentd|awslogs|splunk|etwlogs|gcplogs)`.
948
- */
949
353
  name: pulumi.Input<string>;
950
- /**
951
- * The options for the logging driver, e.g.
952
- */
953
354
  options?: pulumi.Input<{
954
355
  [key: string]: pulumi.Input<string>;
955
356
  }>;
956
357
  }
957
358
  export interface ServiceTaskSpecPlacement {
958
- /**
959
- * An array of constraints. e.g.: `node.role==manager`
960
- */
961
359
  constraints?: pulumi.Input<pulumi.Input<string>[]>;
962
- /**
963
- * Maximum number of replicas for per node (default value is 0, which is unlimited)
964
- */
965
360
  maxReplicas?: pulumi.Input<number>;
966
- /**
967
- * Platforms stores all the platforms that the service's image can run on
968
- */
969
361
  platforms?: pulumi.Input<pulumi.Input<inputs.ServiceTaskSpecPlacementPlatform>[]>;
970
- /**
971
- * Preferences provide a way to make the scheduler aware of factors such as topology. They are provided in order from highest to lowest precedence, e.g.: `spread=node.role.manager`
972
- */
973
362
  prefs?: pulumi.Input<pulumi.Input<string>[]>;
974
363
  }
975
364
  export interface ServiceTaskSpecPlacementPlatform {
976
- /**
977
- * The architecture, e.g., `amd64`
978
- */
979
365
  architecture: pulumi.Input<string>;
980
- /**
981
- * The operation system, e.g., `linux`
982
- */
983
366
  os: pulumi.Input<string>;
984
367
  }
985
368
  export interface ServiceTaskSpecResources {
986
- /**
987
- * Describes the resources which can be advertised by a node and requested by a task.
988
- */
989
369
  limits?: pulumi.Input<inputs.ServiceTaskSpecResourcesLimits>;
990
- /**
991
- * An object describing the resources which can be advertised by a node and requested by a task.
992
- */
993
370
  reservation?: pulumi.Input<inputs.ServiceTaskSpecResourcesReservation>;
994
371
  }
995
372
  export interface ServiceTaskSpecResourcesLimits {
996
- /**
997
- * User-defined resources can be either Integer resources (e.g, SSD=3) or String resources (e.g, GPU=UUID1)
998
- */
999
- genericResources?: pulumi.Input<inputs.ServiceTaskSpecResourcesLimitsGenericResources>;
1000
- /**
1001
- * The amount of memory in bytes the container allocates
1002
- */
1003
373
  memoryBytes?: pulumi.Input<number>;
1004
- /**
1005
- * CPU shares in units of 1/1e9 (or 10^-9) of the CPU. Should be at least 1000000
1006
- */
1007
374
  nanoCpus?: pulumi.Input<number>;
1008
375
  }
1009
- export interface ServiceTaskSpecResourcesLimitsGenericResources {
1010
- /**
1011
- * The Integer resources, delimited by `=`
1012
- */
1013
- discreteResourcesSpecs?: pulumi.Input<pulumi.Input<string>[]>;
1014
- /**
1015
- * The String resources, delimited by `=`
1016
- */
1017
- namedResourcesSpecs?: pulumi.Input<pulumi.Input<string>[]>;
1018
- }
1019
376
  export interface ServiceTaskSpecResourcesReservation {
1020
- /**
1021
- * User-defined resources can be either Integer resources (e.g, SSD=3) or String resources (e.g, GPU=UUID1)
1022
- */
1023
377
  genericResources?: pulumi.Input<inputs.ServiceTaskSpecResourcesReservationGenericResources>;
1024
- /**
1025
- * The amount of memory in bytes the container allocates
1026
- */
1027
378
  memoryBytes?: pulumi.Input<number>;
1028
- /**
1029
- * CPU shares in units of 1/1e9 (or 10^-9) of the CPU. Should be at least 1000000
1030
- */
1031
379
  nanoCpus?: pulumi.Input<number>;
1032
380
  }
1033
381
  export interface ServiceTaskSpecResourcesReservationGenericResources {
1034
- /**
1035
- * The Integer resources, delimited by `=`
1036
- */
1037
382
  discreteResourcesSpecs?: pulumi.Input<pulumi.Input<string>[]>;
1038
- /**
1039
- * The String resources, delimited by `=`
1040
- */
1041
383
  namedResourcesSpecs?: pulumi.Input<pulumi.Input<string>[]>;
1042
384
  }
1043
385
  export interface ServiceTaskSpecRestartPolicy {
1044
- /**
1045
- * Condition for restart: `(none|on-failure|any)`
1046
- */
1047
386
  condition?: pulumi.Input<string>;
1048
- /**
1049
- * Delay between restart attempts `(ms|s|m|h)`
1050
- */
1051
387
  delay?: pulumi.Input<string>;
1052
- /**
1053
- * Maximum attempts to restart a given container before giving up (default value is `0`, which is ignored)
1054
- */
1055
388
  maxAttempts?: pulumi.Input<number>;
1056
- /**
1057
- * The time window used to evaluate the restart policy (default value is `0`, which is unbounded) `(ms|s|m|h)`
1058
- */
1059
389
  window?: pulumi.Input<string>;
1060
390
  }
1061
391
  export interface ServiceUpdateConfig {
1062
- /**
1063
- * Delay between updates `(ns|us|ms|s|m|h)`, e.g. `5s`.
1064
- */
1065
392
  delay?: pulumi.Input<string>;
1066
- /**
1067
- * Action on update failure: `pause|continue|rollback`.
1068
- */
1069
393
  failureAction?: pulumi.Input<string>;
1070
- /**
1071
- * The failure rate to tolerate during an update as `float`. **Important:** the `float`need to be wrapped in a `string` to avoid internal
1072
- * casting and precision errors.
1073
- */
1074
394
  maxFailureRatio?: pulumi.Input<string>;
1075
- /**
1076
- * Duration after each task update to monitor for failure `(ns|us|ms|s|m|h)`
1077
- */
1078
395
  monitor?: pulumi.Input<string>;
1079
- /**
1080
- * Update order either 'stop-first' or 'start-first'.
1081
- */
1082
396
  order?: pulumi.Input<string>;
1083
- /**
1084
- * The maximum number of tasks to be updated in one iteration simultaneously (0 to update all at once).
1085
- */
1086
397
  parallelism?: pulumi.Input<number>;
1087
398
  }
1088
399
  export interface VolumeLabel {