@pulumi/docker 4.6.0-alpha.1706746135 → 4.6.0-alpha.1706812288
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/package.json +1 -1
- package/types/input.d.ts +432 -0
- package/types/output.d.ts +444 -0
package/package.json
CHANGED
package/types/input.d.ts
CHANGED
|
@@ -153,13 +153,37 @@ export interface ContainerMountVolumeOptionsLabel {
|
|
|
153
153
|
value: pulumi.Input<string>;
|
|
154
154
|
}
|
|
155
155
|
export interface ContainerNetworkData {
|
|
156
|
+
/**
|
|
157
|
+
* The network gateway of the container.
|
|
158
|
+
*/
|
|
156
159
|
gateway?: pulumi.Input<string>;
|
|
160
|
+
/**
|
|
161
|
+
* The IPV6 address of the container.
|
|
162
|
+
*/
|
|
157
163
|
globalIpv6Address?: pulumi.Input<string>;
|
|
164
|
+
/**
|
|
165
|
+
* The IPV6 prefix length address of the container.
|
|
166
|
+
*/
|
|
158
167
|
globalIpv6PrefixLength?: pulumi.Input<number>;
|
|
168
|
+
/**
|
|
169
|
+
* The IP address of the container.
|
|
170
|
+
*/
|
|
159
171
|
ipAddress?: pulumi.Input<string>;
|
|
172
|
+
/**
|
|
173
|
+
* The IP prefix length of the container.
|
|
174
|
+
*/
|
|
160
175
|
ipPrefixLength?: pulumi.Input<number>;
|
|
176
|
+
/**
|
|
177
|
+
* The IPV6 gateway of the container.
|
|
178
|
+
*/
|
|
161
179
|
ipv6Gateway?: pulumi.Input<string>;
|
|
180
|
+
/**
|
|
181
|
+
* The MAC address of the container.
|
|
182
|
+
*/
|
|
162
183
|
macAddress?: pulumi.Input<string>;
|
|
184
|
+
/**
|
|
185
|
+
* The name of the network
|
|
186
|
+
*/
|
|
163
187
|
networkName?: pulumi.Input<string>;
|
|
164
188
|
}
|
|
165
189
|
export interface ContainerNetworksAdvanced {
|
|
@@ -344,11 +368,26 @@ export interface PluginGrantPermission {
|
|
|
344
368
|
values: pulumi.Input<pulumi.Input<string>[]>;
|
|
345
369
|
}
|
|
346
370
|
export interface ProviderRegistryAuth {
|
|
371
|
+
/**
|
|
372
|
+
* Address of the registry
|
|
373
|
+
*/
|
|
347
374
|
address: pulumi.Input<string>;
|
|
348
375
|
authDisabled?: pulumi.Input<boolean>;
|
|
376
|
+
/**
|
|
377
|
+
* Path to docker json file for registry auth. Defaults to `~/.docker/config.json`. If `DOCKER_CONFIG` is set, the value of `DOCKER_CONFIG` is used as the path. `configFile` has predencen over all other options.
|
|
378
|
+
*/
|
|
349
379
|
configFile?: pulumi.Input<string>;
|
|
380
|
+
/**
|
|
381
|
+
* Plain content of the docker json file for registry auth. `configFileContent` has precedence over username/password.
|
|
382
|
+
*/
|
|
350
383
|
configFileContent?: pulumi.Input<string>;
|
|
384
|
+
/**
|
|
385
|
+
* Password for the registry. Defaults to `DOCKER_REGISTRY_PASS` env variable if set.
|
|
386
|
+
*/
|
|
351
387
|
password?: pulumi.Input<string>;
|
|
388
|
+
/**
|
|
389
|
+
* Username for the registry. Defaults to `DOCKER_REGISTRY_USER` env variable if set.
|
|
390
|
+
*/
|
|
352
391
|
username?: pulumi.Input<string>;
|
|
353
392
|
}
|
|
354
393
|
/**
|
|
@@ -577,210 +616,603 @@ export interface SecretLabel {
|
|
|
577
616
|
value: pulumi.Input<string>;
|
|
578
617
|
}
|
|
579
618
|
export interface ServiceAuth {
|
|
619
|
+
/**
|
|
620
|
+
* The password
|
|
621
|
+
*/
|
|
580
622
|
password?: pulumi.Input<string>;
|
|
623
|
+
/**
|
|
624
|
+
* The address of the server for the authentication
|
|
625
|
+
*/
|
|
581
626
|
serverAddress: pulumi.Input<string>;
|
|
627
|
+
/**
|
|
628
|
+
* The username
|
|
629
|
+
*/
|
|
582
630
|
username?: pulumi.Input<string>;
|
|
583
631
|
}
|
|
584
632
|
export interface ServiceConvergeConfig {
|
|
633
|
+
/**
|
|
634
|
+
* The interval to check if the desired state is reached `(ms|s)`. Defaults to `7s`.
|
|
635
|
+
*/
|
|
585
636
|
delay?: pulumi.Input<string>;
|
|
637
|
+
/**
|
|
638
|
+
* The timeout of the service to reach the desired state `(s|m)`. Defaults to `3m`
|
|
639
|
+
*/
|
|
586
640
|
timeout?: pulumi.Input<string>;
|
|
587
641
|
}
|
|
588
642
|
export interface ServiceEndpointSpec {
|
|
643
|
+
/**
|
|
644
|
+
* The mode of resolution to use for internal load balancing between tasks
|
|
645
|
+
*/
|
|
589
646
|
mode?: pulumi.Input<string>;
|
|
647
|
+
/**
|
|
648
|
+
* List of exposed ports that this service is accessible on from the outside. Ports can only be provided if 'vip' resolution mode is used
|
|
649
|
+
*/
|
|
590
650
|
ports?: pulumi.Input<pulumi.Input<inputs.ServiceEndpointSpecPort>[]>;
|
|
591
651
|
}
|
|
592
652
|
export interface ServiceEndpointSpecPort {
|
|
653
|
+
/**
|
|
654
|
+
* A random name for the port
|
|
655
|
+
*/
|
|
593
656
|
name?: pulumi.Input<string>;
|
|
657
|
+
/**
|
|
658
|
+
* Rrepresents the protocol of a port: `tcp`, `udp` or `sctp`. Defaults to `tcp`.
|
|
659
|
+
*/
|
|
594
660
|
protocol?: pulumi.Input<string>;
|
|
661
|
+
/**
|
|
662
|
+
* Represents the mode in which the port is to be published: 'ingress' or 'host'. Defaults to `ingress`.
|
|
663
|
+
*/
|
|
595
664
|
publishMode?: pulumi.Input<string>;
|
|
665
|
+
/**
|
|
666
|
+
* The port on the swarm hosts
|
|
667
|
+
*/
|
|
596
668
|
publishedPort?: pulumi.Input<number>;
|
|
669
|
+
/**
|
|
670
|
+
* The port inside the container
|
|
671
|
+
*/
|
|
597
672
|
targetPort: pulumi.Input<number>;
|
|
598
673
|
}
|
|
599
674
|
export interface ServiceLabel {
|
|
675
|
+
/**
|
|
676
|
+
* Name of the label
|
|
677
|
+
*/
|
|
600
678
|
label: pulumi.Input<string>;
|
|
679
|
+
/**
|
|
680
|
+
* Value of the label
|
|
681
|
+
*/
|
|
601
682
|
value: pulumi.Input<string>;
|
|
602
683
|
}
|
|
603
684
|
export interface ServiceMode {
|
|
685
|
+
/**
|
|
686
|
+
* When `true`, tasks will run on every worker node. Conflicts with `replicated`
|
|
687
|
+
*/
|
|
604
688
|
global?: pulumi.Input<boolean>;
|
|
689
|
+
/**
|
|
690
|
+
* The replicated service mode
|
|
691
|
+
*/
|
|
605
692
|
replicated?: pulumi.Input<inputs.ServiceModeReplicated>;
|
|
606
693
|
}
|
|
607
694
|
export interface ServiceModeReplicated {
|
|
695
|
+
/**
|
|
696
|
+
* The amount of replicas of the service. Defaults to `1`
|
|
697
|
+
*/
|
|
608
698
|
replicas?: pulumi.Input<number>;
|
|
609
699
|
}
|
|
610
700
|
export interface ServiceRollbackConfig {
|
|
701
|
+
/**
|
|
702
|
+
* Delay between task rollbacks (ns|us|ms|s|m|h). Defaults to `0s`.
|
|
703
|
+
*/
|
|
611
704
|
delay?: pulumi.Input<string>;
|
|
705
|
+
/**
|
|
706
|
+
* Action on rollback failure: pause | continue. Defaults to `pause`.
|
|
707
|
+
*/
|
|
612
708
|
failureAction?: pulumi.Input<string>;
|
|
709
|
+
/**
|
|
710
|
+
* Failure rate to tolerate during a rollback. Defaults to `0.0`.
|
|
711
|
+
*/
|
|
613
712
|
maxFailureRatio?: pulumi.Input<string>;
|
|
713
|
+
/**
|
|
714
|
+
* Duration after each task rollback to monitor for failure (ns|us|ms|s|m|h). Defaults to `5s`.
|
|
715
|
+
*/
|
|
614
716
|
monitor?: pulumi.Input<string>;
|
|
717
|
+
/**
|
|
718
|
+
* Rollback order: either 'stop-first' or 'start-first'. Defaults to `stop-first`.
|
|
719
|
+
*/
|
|
615
720
|
order?: pulumi.Input<string>;
|
|
721
|
+
/**
|
|
722
|
+
* Maximum number of tasks to be rollbacked in one iteration. Defaults to `1`
|
|
723
|
+
*/
|
|
616
724
|
parallelism?: pulumi.Input<number>;
|
|
617
725
|
}
|
|
618
726
|
export interface ServiceTaskSpec {
|
|
727
|
+
/**
|
|
728
|
+
* The spec for each container
|
|
729
|
+
*/
|
|
619
730
|
containerSpec: pulumi.Input<inputs.ServiceTaskSpecContainerSpec>;
|
|
731
|
+
/**
|
|
732
|
+
* A counter that triggers an update even if no relevant parameters have been changed. See the [spec](https://github.com/docker/swarmkit/blob/master/api/specs.proto#L126).
|
|
733
|
+
*/
|
|
620
734
|
forceUpdate?: pulumi.Input<number>;
|
|
735
|
+
/**
|
|
736
|
+
* Specifies the log driver to use for tasks created from this spec. If not present, the default one for the swarm will be used, finally falling back to the engine default if not specified
|
|
737
|
+
*/
|
|
621
738
|
logDriver?: pulumi.Input<inputs.ServiceTaskSpecLogDriver>;
|
|
739
|
+
/**
|
|
740
|
+
* The networks the container is attached to
|
|
741
|
+
*/
|
|
622
742
|
networksAdvanceds?: pulumi.Input<pulumi.Input<inputs.ServiceTaskSpecNetworksAdvanced>[]>;
|
|
743
|
+
/**
|
|
744
|
+
* The placement preferences
|
|
745
|
+
*/
|
|
623
746
|
placement?: pulumi.Input<inputs.ServiceTaskSpecPlacement>;
|
|
747
|
+
/**
|
|
748
|
+
* Resource requirements which apply to each individual container created as part of the service
|
|
749
|
+
*/
|
|
624
750
|
resources?: pulumi.Input<inputs.ServiceTaskSpecResources>;
|
|
751
|
+
/**
|
|
752
|
+
* Specification for the restart policy which applies to containers created as part of this service.
|
|
753
|
+
*/
|
|
625
754
|
restartPolicy?: pulumi.Input<inputs.ServiceTaskSpecRestartPolicy>;
|
|
755
|
+
/**
|
|
756
|
+
* Runtime is the type of runtime specified for the task executor. See the [types](https://github.com/moby/moby/blob/master/api/types/swarm/runtime.go).
|
|
757
|
+
*/
|
|
626
758
|
runtime?: pulumi.Input<string>;
|
|
627
759
|
}
|
|
628
760
|
export interface ServiceTaskSpecContainerSpec {
|
|
761
|
+
/**
|
|
762
|
+
* Arguments to the command
|
|
763
|
+
*/
|
|
629
764
|
args?: pulumi.Input<pulumi.Input<string>[]>;
|
|
765
|
+
/**
|
|
766
|
+
* The command/entrypoint to be run in the image. According to the [docker cli](https://github.com/docker/cli/blob/v20.10.7/cli/command/service/opts.go#L705) the override of the entrypoint is also passed to the `command` property and there is no `entrypoint` attribute in the `ContainerSpec` of the service.
|
|
767
|
+
*/
|
|
630
768
|
commands?: pulumi.Input<pulumi.Input<string>[]>;
|
|
769
|
+
/**
|
|
770
|
+
* References to zero or more configs that will be exposed to the service
|
|
771
|
+
*/
|
|
631
772
|
configs?: pulumi.Input<pulumi.Input<inputs.ServiceTaskSpecContainerSpecConfig>[]>;
|
|
773
|
+
/**
|
|
774
|
+
* The working directory for commands to run in
|
|
775
|
+
*/
|
|
632
776
|
dir?: pulumi.Input<string>;
|
|
777
|
+
/**
|
|
778
|
+
* Specification for DNS related configurations in resolver configuration file (`resolv.conf`)
|
|
779
|
+
*/
|
|
633
780
|
dnsConfig?: pulumi.Input<inputs.ServiceTaskSpecContainerSpecDnsConfig>;
|
|
781
|
+
/**
|
|
782
|
+
* A list of environment variables in the form VAR="value"
|
|
783
|
+
*/
|
|
634
784
|
env?: pulumi.Input<{
|
|
635
785
|
[key: string]: pulumi.Input<string>;
|
|
636
786
|
}>;
|
|
787
|
+
/**
|
|
788
|
+
* A list of additional groups that the container process will run as
|
|
789
|
+
*/
|
|
637
790
|
groups?: pulumi.Input<pulumi.Input<string>[]>;
|
|
791
|
+
/**
|
|
792
|
+
* A test to perform to check that the container is healthy
|
|
793
|
+
*/
|
|
638
794
|
healthcheck?: pulumi.Input<inputs.ServiceTaskSpecContainerSpecHealthcheck>;
|
|
795
|
+
/**
|
|
796
|
+
* The hostname to use for the container, as a valid RFC 1123 hostname
|
|
797
|
+
*/
|
|
639
798
|
hostname?: pulumi.Input<string>;
|
|
799
|
+
/**
|
|
800
|
+
* A list of hostname/IP mappings to add to the container's hosts file
|
|
801
|
+
*/
|
|
640
802
|
hosts?: pulumi.Input<pulumi.Input<inputs.ServiceTaskSpecContainerSpecHost>[]>;
|
|
803
|
+
/**
|
|
804
|
+
* The image name to use for the containers of the service, like `nginx:1.17.6`. Also use the data-source or resource of `docker.RemoteImage` with the `repoDigest` or `docker.RegistryImage` with the `name` attribute for this, as shown in the examples.
|
|
805
|
+
*/
|
|
641
806
|
image: pulumi.Input<string>;
|
|
807
|
+
/**
|
|
808
|
+
* Isolation technology of the containers running the service. (Windows only). Defaults to `default`.
|
|
809
|
+
*/
|
|
642
810
|
isolation?: pulumi.Input<string>;
|
|
811
|
+
/**
|
|
812
|
+
* User-defined key/value metadata
|
|
813
|
+
*/
|
|
643
814
|
labels?: pulumi.Input<pulumi.Input<inputs.ServiceTaskSpecContainerSpecLabel>[]>;
|
|
815
|
+
/**
|
|
816
|
+
* Specification for mounts to be added to containers created as part of the service
|
|
817
|
+
*/
|
|
644
818
|
mounts?: pulumi.Input<pulumi.Input<inputs.ServiceTaskSpecContainerSpecMount>[]>;
|
|
819
|
+
/**
|
|
820
|
+
* Security options for the container
|
|
821
|
+
*/
|
|
645
822
|
privileges?: pulumi.Input<inputs.ServiceTaskSpecContainerSpecPrivileges>;
|
|
823
|
+
/**
|
|
824
|
+
* Mount the container's root filesystem as read only
|
|
825
|
+
*/
|
|
646
826
|
readOnly?: pulumi.Input<boolean>;
|
|
827
|
+
/**
|
|
828
|
+
* References to zero or more secrets that will be exposed to the service
|
|
829
|
+
*/
|
|
647
830
|
secrets?: pulumi.Input<pulumi.Input<inputs.ServiceTaskSpecContainerSpecSecret>[]>;
|
|
831
|
+
/**
|
|
832
|
+
* Amount of time to wait for the container to terminate before forcefully removing it (ms|s|m|h). If not specified or '0s' the destroy will not check if all tasks/containers of the service terminate.
|
|
833
|
+
*/
|
|
648
834
|
stopGracePeriod?: pulumi.Input<string>;
|
|
835
|
+
/**
|
|
836
|
+
* Signal to stop the container
|
|
837
|
+
*/
|
|
649
838
|
stopSignal?: pulumi.Input<string>;
|
|
839
|
+
/**
|
|
840
|
+
* Sysctls config (Linux only)
|
|
841
|
+
*/
|
|
650
842
|
sysctl?: pulumi.Input<{
|
|
651
843
|
[key: string]: any;
|
|
652
844
|
}>;
|
|
845
|
+
/**
|
|
846
|
+
* The user inside the container
|
|
847
|
+
*/
|
|
653
848
|
user?: pulumi.Input<string>;
|
|
654
849
|
}
|
|
655
850
|
export interface ServiceTaskSpecContainerSpecConfig {
|
|
851
|
+
/**
|
|
852
|
+
* ID of the specific config that we're referencing
|
|
853
|
+
*/
|
|
656
854
|
configId: pulumi.Input<string>;
|
|
855
|
+
/**
|
|
856
|
+
* Name of the config that this references, but this is just provided for lookup/display purposes. The config in the reference will be identified by its ID
|
|
857
|
+
*/
|
|
657
858
|
configName?: pulumi.Input<string>;
|
|
859
|
+
/**
|
|
860
|
+
* Represents the file GID. Defaults to `0`.
|
|
861
|
+
*/
|
|
658
862
|
fileGid?: pulumi.Input<string>;
|
|
863
|
+
/**
|
|
864
|
+
* Represents represents the FileMode of the file. Defaults to `0o444`.
|
|
865
|
+
*/
|
|
659
866
|
fileMode?: pulumi.Input<number>;
|
|
867
|
+
/**
|
|
868
|
+
* Represents the final filename in the filesystem
|
|
869
|
+
*/
|
|
660
870
|
fileName: pulumi.Input<string>;
|
|
871
|
+
/**
|
|
872
|
+
* Represents the file UID. Defaults to `0`.
|
|
873
|
+
*/
|
|
661
874
|
fileUid?: pulumi.Input<string>;
|
|
662
875
|
}
|
|
663
876
|
export interface ServiceTaskSpecContainerSpecDnsConfig {
|
|
877
|
+
/**
|
|
878
|
+
* The IP addresses of the name servers
|
|
879
|
+
*/
|
|
664
880
|
nameservers: pulumi.Input<pulumi.Input<string>[]>;
|
|
881
|
+
/**
|
|
882
|
+
* A list of internal resolver variables to be modified (e.g., `debug`, `ndots:3`, etc.)
|
|
883
|
+
*/
|
|
665
884
|
options?: pulumi.Input<pulumi.Input<string>[]>;
|
|
885
|
+
/**
|
|
886
|
+
* A search list for host-name lookup
|
|
887
|
+
*/
|
|
666
888
|
searches?: pulumi.Input<pulumi.Input<string>[]>;
|
|
667
889
|
}
|
|
668
890
|
export interface ServiceTaskSpecContainerSpecHealthcheck {
|
|
891
|
+
/**
|
|
892
|
+
* Time between running the check (ms|s|m|h). Defaults to `0s`.
|
|
893
|
+
*/
|
|
669
894
|
interval?: pulumi.Input<string>;
|
|
895
|
+
/**
|
|
896
|
+
* Consecutive failures needed to report unhealthy. Defaults to `0`
|
|
897
|
+
*/
|
|
670
898
|
retries?: pulumi.Input<number>;
|
|
899
|
+
/**
|
|
900
|
+
* Start period for the container to initialize before counting retries towards unstable (ms|s|m|h). Defaults to `0s`.
|
|
901
|
+
*/
|
|
671
902
|
startPeriod?: pulumi.Input<string>;
|
|
903
|
+
/**
|
|
904
|
+
* The test to perform as list
|
|
905
|
+
*/
|
|
672
906
|
tests: pulumi.Input<pulumi.Input<string>[]>;
|
|
907
|
+
/**
|
|
908
|
+
* Maximum time to allow one check to run (ms|s|m|h). Defaults to `0s`.
|
|
909
|
+
*/
|
|
673
910
|
timeout?: pulumi.Input<string>;
|
|
674
911
|
}
|
|
675
912
|
export interface ServiceTaskSpecContainerSpecHost {
|
|
913
|
+
/**
|
|
914
|
+
* The name of the host
|
|
915
|
+
*/
|
|
676
916
|
host: pulumi.Input<string>;
|
|
917
|
+
/**
|
|
918
|
+
* The ip of the host
|
|
919
|
+
*/
|
|
677
920
|
ip: pulumi.Input<string>;
|
|
678
921
|
}
|
|
679
922
|
export interface ServiceTaskSpecContainerSpecLabel {
|
|
923
|
+
/**
|
|
924
|
+
* Name of the label
|
|
925
|
+
*/
|
|
680
926
|
label: pulumi.Input<string>;
|
|
927
|
+
/**
|
|
928
|
+
* Value of the label
|
|
929
|
+
*/
|
|
681
930
|
value: pulumi.Input<string>;
|
|
682
931
|
}
|
|
683
932
|
export interface ServiceTaskSpecContainerSpecMount {
|
|
933
|
+
/**
|
|
934
|
+
* Optional configuration for the bind type
|
|
935
|
+
*/
|
|
684
936
|
bindOptions?: pulumi.Input<inputs.ServiceTaskSpecContainerSpecMountBindOptions>;
|
|
937
|
+
/**
|
|
938
|
+
* Whether the mount should be read-only
|
|
939
|
+
*/
|
|
685
940
|
readOnly?: pulumi.Input<boolean>;
|
|
941
|
+
/**
|
|
942
|
+
* Mount source (e.g. a volume name, a host path)
|
|
943
|
+
*/
|
|
686
944
|
source?: pulumi.Input<string>;
|
|
945
|
+
/**
|
|
946
|
+
* Container path
|
|
947
|
+
*/
|
|
687
948
|
target: pulumi.Input<string>;
|
|
949
|
+
/**
|
|
950
|
+
* Optional configuration for the tmpfs type
|
|
951
|
+
*/
|
|
688
952
|
tmpfsOptions?: pulumi.Input<inputs.ServiceTaskSpecContainerSpecMountTmpfsOptions>;
|
|
953
|
+
/**
|
|
954
|
+
* The mount type
|
|
955
|
+
*/
|
|
689
956
|
type: pulumi.Input<string>;
|
|
957
|
+
/**
|
|
958
|
+
* Optional configuration for the volume type
|
|
959
|
+
*/
|
|
690
960
|
volumeOptions?: pulumi.Input<inputs.ServiceTaskSpecContainerSpecMountVolumeOptions>;
|
|
691
961
|
}
|
|
692
962
|
export interface ServiceTaskSpecContainerSpecMountBindOptions {
|
|
963
|
+
/**
|
|
964
|
+
* Bind propagation refers to whether or not mounts created within a given bind-mount or named volume can be propagated to replicas of that mount. See the [docs](https://docs.docker.com/storage/bind-mounts/#configure-bind-propagation) for details. Defaults to `rprivate`
|
|
965
|
+
*/
|
|
693
966
|
propagation?: pulumi.Input<string>;
|
|
694
967
|
}
|
|
695
968
|
export interface ServiceTaskSpecContainerSpecMountTmpfsOptions {
|
|
969
|
+
/**
|
|
970
|
+
* The permission mode for the tmpfs mount in an integer
|
|
971
|
+
*/
|
|
696
972
|
mode?: pulumi.Input<number>;
|
|
973
|
+
/**
|
|
974
|
+
* The size for the tmpfs mount in bytes
|
|
975
|
+
*/
|
|
697
976
|
sizeBytes?: pulumi.Input<number>;
|
|
698
977
|
}
|
|
699
978
|
export interface ServiceTaskSpecContainerSpecMountVolumeOptions {
|
|
979
|
+
/**
|
|
980
|
+
* Name of the driver to use to create the volume
|
|
981
|
+
*/
|
|
700
982
|
driverName?: pulumi.Input<string>;
|
|
983
|
+
/**
|
|
984
|
+
* key/value map of driver specific options
|
|
985
|
+
*/
|
|
701
986
|
driverOptions?: pulumi.Input<{
|
|
702
987
|
[key: string]: pulumi.Input<string>;
|
|
703
988
|
}>;
|
|
989
|
+
/**
|
|
990
|
+
* User-defined key/value metadata
|
|
991
|
+
*/
|
|
704
992
|
labels?: pulumi.Input<pulumi.Input<inputs.ServiceTaskSpecContainerSpecMountVolumeOptionsLabel>[]>;
|
|
993
|
+
/**
|
|
994
|
+
* Populate volume with data from the target
|
|
995
|
+
*/
|
|
705
996
|
noCopy?: pulumi.Input<boolean>;
|
|
706
997
|
}
|
|
707
998
|
export interface ServiceTaskSpecContainerSpecMountVolumeOptionsLabel {
|
|
999
|
+
/**
|
|
1000
|
+
* Name of the label
|
|
1001
|
+
*/
|
|
708
1002
|
label: pulumi.Input<string>;
|
|
1003
|
+
/**
|
|
1004
|
+
* Value of the label
|
|
1005
|
+
*/
|
|
709
1006
|
value: pulumi.Input<string>;
|
|
710
1007
|
}
|
|
711
1008
|
export interface ServiceTaskSpecContainerSpecPrivileges {
|
|
1009
|
+
/**
|
|
1010
|
+
* CredentialSpec for managed service account (Windows only)
|
|
1011
|
+
*/
|
|
712
1012
|
credentialSpec?: pulumi.Input<inputs.ServiceTaskSpecContainerSpecPrivilegesCredentialSpec>;
|
|
1013
|
+
/**
|
|
1014
|
+
* SELinux labels of the container
|
|
1015
|
+
*/
|
|
713
1016
|
seLinuxContext?: pulumi.Input<inputs.ServiceTaskSpecContainerSpecPrivilegesSeLinuxContext>;
|
|
714
1017
|
}
|
|
715
1018
|
export interface ServiceTaskSpecContainerSpecPrivilegesCredentialSpec {
|
|
1019
|
+
/**
|
|
1020
|
+
* Load credential spec from this file
|
|
1021
|
+
*/
|
|
716
1022
|
file?: pulumi.Input<string>;
|
|
1023
|
+
/**
|
|
1024
|
+
* Load credential spec from this value in the Windows registry
|
|
1025
|
+
*/
|
|
717
1026
|
registry?: pulumi.Input<string>;
|
|
718
1027
|
}
|
|
719
1028
|
export interface ServiceTaskSpecContainerSpecPrivilegesSeLinuxContext {
|
|
1029
|
+
/**
|
|
1030
|
+
* Disable SELinux
|
|
1031
|
+
*/
|
|
720
1032
|
disable?: pulumi.Input<boolean>;
|
|
1033
|
+
/**
|
|
1034
|
+
* SELinux level label
|
|
1035
|
+
*/
|
|
721
1036
|
level?: pulumi.Input<string>;
|
|
1037
|
+
/**
|
|
1038
|
+
* SELinux role label
|
|
1039
|
+
*/
|
|
722
1040
|
role?: pulumi.Input<string>;
|
|
1041
|
+
/**
|
|
1042
|
+
* SELinux type label
|
|
1043
|
+
*/
|
|
723
1044
|
type?: pulumi.Input<string>;
|
|
1045
|
+
/**
|
|
1046
|
+
* SELinux user label
|
|
1047
|
+
*/
|
|
724
1048
|
user?: pulumi.Input<string>;
|
|
725
1049
|
}
|
|
726
1050
|
export interface ServiceTaskSpecContainerSpecSecret {
|
|
1051
|
+
/**
|
|
1052
|
+
* Represents the file GID. Defaults to `0`
|
|
1053
|
+
*/
|
|
727
1054
|
fileGid?: pulumi.Input<string>;
|
|
1055
|
+
/**
|
|
1056
|
+
* Represents represents the FileMode of the file. Defaults to `0o444`
|
|
1057
|
+
*/
|
|
728
1058
|
fileMode?: pulumi.Input<number>;
|
|
1059
|
+
/**
|
|
1060
|
+
* Represents the final filename in the filesystem
|
|
1061
|
+
*/
|
|
729
1062
|
fileName: pulumi.Input<string>;
|
|
1063
|
+
/**
|
|
1064
|
+
* Represents the file UID. Defaults to `0`
|
|
1065
|
+
*/
|
|
730
1066
|
fileUid?: pulumi.Input<string>;
|
|
1067
|
+
/**
|
|
1068
|
+
* ID of the specific secret that we're referencing
|
|
1069
|
+
*/
|
|
731
1070
|
secretId: pulumi.Input<string>;
|
|
1071
|
+
/**
|
|
1072
|
+
* Name of the secret that this references, but this is just provided for lookup/display purposes. The config in the reference will be identified by its ID
|
|
1073
|
+
*/
|
|
732
1074
|
secretName?: pulumi.Input<string>;
|
|
733
1075
|
}
|
|
734
1076
|
export interface ServiceTaskSpecLogDriver {
|
|
1077
|
+
/**
|
|
1078
|
+
* The logging driver to use
|
|
1079
|
+
*/
|
|
735
1080
|
name: pulumi.Input<string>;
|
|
1081
|
+
/**
|
|
1082
|
+
* The options for the logging driver
|
|
1083
|
+
*/
|
|
736
1084
|
options?: pulumi.Input<{
|
|
737
1085
|
[key: string]: pulumi.Input<string>;
|
|
738
1086
|
}>;
|
|
739
1087
|
}
|
|
740
1088
|
export interface ServiceTaskSpecNetworksAdvanced {
|
|
1089
|
+
/**
|
|
1090
|
+
* The network aliases of the container in the specific network.
|
|
1091
|
+
*/
|
|
741
1092
|
aliases?: pulumi.Input<pulumi.Input<string>[]>;
|
|
1093
|
+
/**
|
|
1094
|
+
* An array of driver options for the network, e.g. `opts1=value`
|
|
1095
|
+
*/
|
|
742
1096
|
driverOpts?: pulumi.Input<pulumi.Input<string>[]>;
|
|
1097
|
+
/**
|
|
1098
|
+
* The name/id of the network.
|
|
1099
|
+
*/
|
|
743
1100
|
name: pulumi.Input<string>;
|
|
744
1101
|
}
|
|
745
1102
|
export interface ServiceTaskSpecPlacement {
|
|
1103
|
+
/**
|
|
1104
|
+
* An array of constraints. e.g.: `node.role==manager`
|
|
1105
|
+
*/
|
|
746
1106
|
constraints?: pulumi.Input<pulumi.Input<string>[]>;
|
|
1107
|
+
/**
|
|
1108
|
+
* Maximum number of replicas for per node (default value is `0`, which is unlimited)
|
|
1109
|
+
*/
|
|
747
1110
|
maxReplicas?: pulumi.Input<number>;
|
|
1111
|
+
/**
|
|
1112
|
+
* Platforms stores all the platforms that the service's image can run on
|
|
1113
|
+
*/
|
|
748
1114
|
platforms?: pulumi.Input<pulumi.Input<inputs.ServiceTaskSpecPlacementPlatform>[]>;
|
|
1115
|
+
/**
|
|
1116
|
+
* 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`
|
|
1117
|
+
*/
|
|
749
1118
|
prefs?: pulumi.Input<pulumi.Input<string>[]>;
|
|
750
1119
|
}
|
|
751
1120
|
export interface ServiceTaskSpecPlacementPlatform {
|
|
1121
|
+
/**
|
|
1122
|
+
* The architecture, e.g. `amd64`
|
|
1123
|
+
*/
|
|
752
1124
|
architecture: pulumi.Input<string>;
|
|
1125
|
+
/**
|
|
1126
|
+
* The operation system, e.g. `linux`
|
|
1127
|
+
*/
|
|
753
1128
|
os: pulumi.Input<string>;
|
|
754
1129
|
}
|
|
755
1130
|
export interface ServiceTaskSpecResources {
|
|
1131
|
+
/**
|
|
1132
|
+
* Describes the resources which can be advertised by a node and requested by a task
|
|
1133
|
+
*/
|
|
756
1134
|
limits?: pulumi.Input<inputs.ServiceTaskSpecResourcesLimits>;
|
|
1135
|
+
/**
|
|
1136
|
+
* An object describing the resources which can be advertised by a node and requested by a task
|
|
1137
|
+
*/
|
|
757
1138
|
reservation?: pulumi.Input<inputs.ServiceTaskSpecResourcesReservation>;
|
|
758
1139
|
}
|
|
759
1140
|
export interface ServiceTaskSpecResourcesLimits {
|
|
1141
|
+
/**
|
|
1142
|
+
* The amounf of memory in bytes the container allocates
|
|
1143
|
+
*/
|
|
760
1144
|
memoryBytes?: pulumi.Input<number>;
|
|
1145
|
+
/**
|
|
1146
|
+
* CPU shares in units of `1/1e9` (or `10^-9`) of the CPU. Should be at least `1000000`
|
|
1147
|
+
*/
|
|
761
1148
|
nanoCpus?: pulumi.Input<number>;
|
|
762
1149
|
}
|
|
763
1150
|
export interface ServiceTaskSpecResourcesReservation {
|
|
1151
|
+
/**
|
|
1152
|
+
* User-defined resources can be either Integer resources (e.g, `SSD=3`) or String resources (e.g, GPU=UUID1)
|
|
1153
|
+
*/
|
|
764
1154
|
genericResources?: pulumi.Input<inputs.ServiceTaskSpecResourcesReservationGenericResources>;
|
|
1155
|
+
/**
|
|
1156
|
+
* The amounf of memory in bytes the container allocates
|
|
1157
|
+
*/
|
|
765
1158
|
memoryBytes?: pulumi.Input<number>;
|
|
1159
|
+
/**
|
|
1160
|
+
* CPU shares in units of 1/1e9 (or 10^-9) of the CPU. Should be at least `1000000`
|
|
1161
|
+
*/
|
|
766
1162
|
nanoCpus?: pulumi.Input<number>;
|
|
767
1163
|
}
|
|
768
1164
|
export interface ServiceTaskSpecResourcesReservationGenericResources {
|
|
1165
|
+
/**
|
|
1166
|
+
* The Integer resources
|
|
1167
|
+
*/
|
|
769
1168
|
discreteResourcesSpecs?: pulumi.Input<pulumi.Input<string>[]>;
|
|
1169
|
+
/**
|
|
1170
|
+
* The String resources
|
|
1171
|
+
*/
|
|
770
1172
|
namedResourcesSpecs?: pulumi.Input<pulumi.Input<string>[]>;
|
|
771
1173
|
}
|
|
772
1174
|
export interface ServiceTaskSpecRestartPolicy {
|
|
1175
|
+
/**
|
|
1176
|
+
* Condition for restart
|
|
1177
|
+
*/
|
|
773
1178
|
condition?: pulumi.Input<string>;
|
|
1179
|
+
/**
|
|
1180
|
+
* Delay between restart attempts (ms|s|m|h)
|
|
1181
|
+
*/
|
|
774
1182
|
delay?: pulumi.Input<string>;
|
|
1183
|
+
/**
|
|
1184
|
+
* Maximum attempts to restart a given container before giving up (default value is `0`, which is ignored)
|
|
1185
|
+
*/
|
|
775
1186
|
maxAttempts?: pulumi.Input<number>;
|
|
1187
|
+
/**
|
|
1188
|
+
* The time window used to evaluate the restart policy (default value is `0`, which is unbounded) (ms|s|m|h)
|
|
1189
|
+
*/
|
|
776
1190
|
window?: pulumi.Input<string>;
|
|
777
1191
|
}
|
|
778
1192
|
export interface ServiceUpdateConfig {
|
|
1193
|
+
/**
|
|
1194
|
+
* Delay between task updates `(ns|us|ms|s|m|h)`. Defaults to `0s`.
|
|
1195
|
+
*/
|
|
779
1196
|
delay?: pulumi.Input<string>;
|
|
1197
|
+
/**
|
|
1198
|
+
* Action on update failure: `pause`, `continue` or `rollback`. Defaults to `pause`.
|
|
1199
|
+
*/
|
|
780
1200
|
failureAction?: pulumi.Input<string>;
|
|
1201
|
+
/**
|
|
1202
|
+
* Failure rate to tolerate during an update. Defaults to `0.0`.
|
|
1203
|
+
*/
|
|
781
1204
|
maxFailureRatio?: pulumi.Input<string>;
|
|
1205
|
+
/**
|
|
1206
|
+
* Duration after each task update to monitor for failure (ns|us|ms|s|m|h). Defaults to `5s`.
|
|
1207
|
+
*/
|
|
782
1208
|
monitor?: pulumi.Input<string>;
|
|
1209
|
+
/**
|
|
1210
|
+
* Update order: either 'stop-first' or 'start-first'. Defaults to `stop-first`.
|
|
1211
|
+
*/
|
|
783
1212
|
order?: pulumi.Input<string>;
|
|
1213
|
+
/**
|
|
1214
|
+
* Maximum number of tasks to be updated in one iteration. Defaults to `1`
|
|
1215
|
+
*/
|
|
784
1216
|
parallelism?: pulumi.Input<number>;
|
|
785
1217
|
}
|
|
786
1218
|
export interface VolumeLabel {
|
package/types/output.d.ts
CHANGED
|
@@ -142,13 +142,37 @@ export interface ContainerMountVolumeOptionsLabel {
|
|
|
142
142
|
value: string;
|
|
143
143
|
}
|
|
144
144
|
export interface ContainerNetworkData {
|
|
145
|
+
/**
|
|
146
|
+
* The network gateway of the container.
|
|
147
|
+
*/
|
|
145
148
|
gateway: string;
|
|
149
|
+
/**
|
|
150
|
+
* The IPV6 address of the container.
|
|
151
|
+
*/
|
|
146
152
|
globalIpv6Address: string;
|
|
153
|
+
/**
|
|
154
|
+
* The IPV6 prefix length address of the container.
|
|
155
|
+
*/
|
|
147
156
|
globalIpv6PrefixLength: number;
|
|
157
|
+
/**
|
|
158
|
+
* The IP address of the container.
|
|
159
|
+
*/
|
|
148
160
|
ipAddress: string;
|
|
161
|
+
/**
|
|
162
|
+
* The IP prefix length of the container.
|
|
163
|
+
*/
|
|
149
164
|
ipPrefixLength: number;
|
|
165
|
+
/**
|
|
166
|
+
* The IPV6 gateway of the container.
|
|
167
|
+
*/
|
|
150
168
|
ipv6Gateway: string;
|
|
169
|
+
/**
|
|
170
|
+
* The MAC address of the container.
|
|
171
|
+
*/
|
|
151
172
|
macAddress: string;
|
|
173
|
+
/**
|
|
174
|
+
* The name of the network
|
|
175
|
+
*/
|
|
152
176
|
networkName: string;
|
|
153
177
|
}
|
|
154
178
|
export interface ContainerNetworksAdvanced {
|
|
@@ -250,11 +274,23 @@ export interface ContainerVolume {
|
|
|
250
274
|
volumeName?: string;
|
|
251
275
|
}
|
|
252
276
|
export interface GetNetworkIpamConfig {
|
|
277
|
+
/**
|
|
278
|
+
* Auxiliary IPv4 or IPv6 addresses used by Network driver
|
|
279
|
+
*/
|
|
253
280
|
auxAddress?: {
|
|
254
281
|
[key: string]: any;
|
|
255
282
|
};
|
|
283
|
+
/**
|
|
284
|
+
* The IP address of the gateway
|
|
285
|
+
*/
|
|
256
286
|
gateway?: string;
|
|
287
|
+
/**
|
|
288
|
+
* The ip range in CIDR form
|
|
289
|
+
*/
|
|
257
290
|
ipRange?: string;
|
|
291
|
+
/**
|
|
292
|
+
* The subnet in CIDR form
|
|
293
|
+
*/
|
|
258
294
|
subnet?: string;
|
|
259
295
|
}
|
|
260
296
|
export interface NetworkIpamConfig {
|
|
@@ -506,210 +542,603 @@ export interface SecretLabel {
|
|
|
506
542
|
value: string;
|
|
507
543
|
}
|
|
508
544
|
export interface ServiceAuth {
|
|
545
|
+
/**
|
|
546
|
+
* The password
|
|
547
|
+
*/
|
|
509
548
|
password?: string;
|
|
549
|
+
/**
|
|
550
|
+
* The address of the server for the authentication
|
|
551
|
+
*/
|
|
510
552
|
serverAddress: string;
|
|
553
|
+
/**
|
|
554
|
+
* The username
|
|
555
|
+
*/
|
|
511
556
|
username?: string;
|
|
512
557
|
}
|
|
513
558
|
export interface ServiceConvergeConfig {
|
|
559
|
+
/**
|
|
560
|
+
* The interval to check if the desired state is reached `(ms|s)`. Defaults to `7s`.
|
|
561
|
+
*/
|
|
514
562
|
delay?: string;
|
|
563
|
+
/**
|
|
564
|
+
* The timeout of the service to reach the desired state `(s|m)`. Defaults to `3m`
|
|
565
|
+
*/
|
|
515
566
|
timeout?: string;
|
|
516
567
|
}
|
|
517
568
|
export interface ServiceEndpointSpec {
|
|
569
|
+
/**
|
|
570
|
+
* The mode of resolution to use for internal load balancing between tasks
|
|
571
|
+
*/
|
|
518
572
|
mode: string;
|
|
573
|
+
/**
|
|
574
|
+
* List of exposed ports that this service is accessible on from the outside. Ports can only be provided if 'vip' resolution mode is used
|
|
575
|
+
*/
|
|
519
576
|
ports?: outputs.ServiceEndpointSpecPort[];
|
|
520
577
|
}
|
|
521
578
|
export interface ServiceEndpointSpecPort {
|
|
579
|
+
/**
|
|
580
|
+
* A random name for the port
|
|
581
|
+
*/
|
|
522
582
|
name?: string;
|
|
583
|
+
/**
|
|
584
|
+
* Rrepresents the protocol of a port: `tcp`, `udp` or `sctp`. Defaults to `tcp`.
|
|
585
|
+
*/
|
|
523
586
|
protocol?: string;
|
|
587
|
+
/**
|
|
588
|
+
* Represents the mode in which the port is to be published: 'ingress' or 'host'. Defaults to `ingress`.
|
|
589
|
+
*/
|
|
524
590
|
publishMode?: string;
|
|
591
|
+
/**
|
|
592
|
+
* The port on the swarm hosts
|
|
593
|
+
*/
|
|
525
594
|
publishedPort: number;
|
|
595
|
+
/**
|
|
596
|
+
* The port inside the container
|
|
597
|
+
*/
|
|
526
598
|
targetPort: number;
|
|
527
599
|
}
|
|
528
600
|
export interface ServiceLabel {
|
|
601
|
+
/**
|
|
602
|
+
* Name of the label
|
|
603
|
+
*/
|
|
529
604
|
label: string;
|
|
605
|
+
/**
|
|
606
|
+
* Value of the label
|
|
607
|
+
*/
|
|
530
608
|
value: string;
|
|
531
609
|
}
|
|
532
610
|
export interface ServiceMode {
|
|
611
|
+
/**
|
|
612
|
+
* When `true`, tasks will run on every worker node. Conflicts with `replicated`
|
|
613
|
+
*/
|
|
533
614
|
global?: boolean;
|
|
615
|
+
/**
|
|
616
|
+
* The replicated service mode
|
|
617
|
+
*/
|
|
534
618
|
replicated: outputs.ServiceModeReplicated;
|
|
535
619
|
}
|
|
536
620
|
export interface ServiceModeReplicated {
|
|
621
|
+
/**
|
|
622
|
+
* The amount of replicas of the service. Defaults to `1`
|
|
623
|
+
*/
|
|
537
624
|
replicas?: number;
|
|
538
625
|
}
|
|
539
626
|
export interface ServiceRollbackConfig {
|
|
627
|
+
/**
|
|
628
|
+
* Delay between task rollbacks (ns|us|ms|s|m|h). Defaults to `0s`.
|
|
629
|
+
*/
|
|
540
630
|
delay?: string;
|
|
631
|
+
/**
|
|
632
|
+
* Action on rollback failure: pause | continue. Defaults to `pause`.
|
|
633
|
+
*/
|
|
541
634
|
failureAction?: string;
|
|
635
|
+
/**
|
|
636
|
+
* Failure rate to tolerate during a rollback. Defaults to `0.0`.
|
|
637
|
+
*/
|
|
542
638
|
maxFailureRatio?: string;
|
|
639
|
+
/**
|
|
640
|
+
* Duration after each task rollback to monitor for failure (ns|us|ms|s|m|h). Defaults to `5s`.
|
|
641
|
+
*/
|
|
543
642
|
monitor?: string;
|
|
643
|
+
/**
|
|
644
|
+
* Rollback order: either 'stop-first' or 'start-first'. Defaults to `stop-first`.
|
|
645
|
+
*/
|
|
544
646
|
order?: string;
|
|
647
|
+
/**
|
|
648
|
+
* Maximum number of tasks to be rollbacked in one iteration. Defaults to `1`
|
|
649
|
+
*/
|
|
545
650
|
parallelism?: number;
|
|
546
651
|
}
|
|
547
652
|
export interface ServiceTaskSpec {
|
|
653
|
+
/**
|
|
654
|
+
* The spec for each container
|
|
655
|
+
*/
|
|
548
656
|
containerSpec: outputs.ServiceTaskSpecContainerSpec;
|
|
657
|
+
/**
|
|
658
|
+
* A counter that triggers an update even if no relevant parameters have been changed. See the [spec](https://github.com/docker/swarmkit/blob/master/api/specs.proto#L126).
|
|
659
|
+
*/
|
|
549
660
|
forceUpdate: number;
|
|
661
|
+
/**
|
|
662
|
+
* Specifies the log driver to use for tasks created from this spec. If not present, the default one for the swarm will be used, finally falling back to the engine default if not specified
|
|
663
|
+
*/
|
|
550
664
|
logDriver?: outputs.ServiceTaskSpecLogDriver;
|
|
665
|
+
/**
|
|
666
|
+
* The networks the container is attached to
|
|
667
|
+
*/
|
|
551
668
|
networksAdvanceds?: outputs.ServiceTaskSpecNetworksAdvanced[];
|
|
669
|
+
/**
|
|
670
|
+
* The placement preferences
|
|
671
|
+
*/
|
|
552
672
|
placement: outputs.ServiceTaskSpecPlacement;
|
|
673
|
+
/**
|
|
674
|
+
* Resource requirements which apply to each individual container created as part of the service
|
|
675
|
+
*/
|
|
553
676
|
resources: outputs.ServiceTaskSpecResources;
|
|
677
|
+
/**
|
|
678
|
+
* Specification for the restart policy which applies to containers created as part of this service.
|
|
679
|
+
*/
|
|
554
680
|
restartPolicy: outputs.ServiceTaskSpecRestartPolicy;
|
|
681
|
+
/**
|
|
682
|
+
* Runtime is the type of runtime specified for the task executor. See the [types](https://github.com/moby/moby/blob/master/api/types/swarm/runtime.go).
|
|
683
|
+
*/
|
|
555
684
|
runtime: string;
|
|
556
685
|
}
|
|
557
686
|
export interface ServiceTaskSpecContainerSpec {
|
|
687
|
+
/**
|
|
688
|
+
* Arguments to the command
|
|
689
|
+
*/
|
|
558
690
|
args?: string[];
|
|
691
|
+
/**
|
|
692
|
+
* The command/entrypoint to be run in the image. According to the [docker cli](https://github.com/docker/cli/blob/v20.10.7/cli/command/service/opts.go#L705) the override of the entrypoint is also passed to the `command` property and there is no `entrypoint` attribute in the `ContainerSpec` of the service.
|
|
693
|
+
*/
|
|
559
694
|
commands?: string[];
|
|
695
|
+
/**
|
|
696
|
+
* References to zero or more configs that will be exposed to the service
|
|
697
|
+
*/
|
|
560
698
|
configs?: outputs.ServiceTaskSpecContainerSpecConfig[];
|
|
699
|
+
/**
|
|
700
|
+
* The working directory for commands to run in
|
|
701
|
+
*/
|
|
561
702
|
dir?: string;
|
|
703
|
+
/**
|
|
704
|
+
* Specification for DNS related configurations in resolver configuration file (`resolv.conf`)
|
|
705
|
+
*/
|
|
562
706
|
dnsConfig: outputs.ServiceTaskSpecContainerSpecDnsConfig;
|
|
707
|
+
/**
|
|
708
|
+
* A list of environment variables in the form VAR="value"
|
|
709
|
+
*/
|
|
563
710
|
env?: {
|
|
564
711
|
[key: string]: string;
|
|
565
712
|
};
|
|
713
|
+
/**
|
|
714
|
+
* A list of additional groups that the container process will run as
|
|
715
|
+
*/
|
|
566
716
|
groups?: string[];
|
|
717
|
+
/**
|
|
718
|
+
* A test to perform to check that the container is healthy
|
|
719
|
+
*/
|
|
567
720
|
healthcheck: outputs.ServiceTaskSpecContainerSpecHealthcheck;
|
|
721
|
+
/**
|
|
722
|
+
* The hostname to use for the container, as a valid RFC 1123 hostname
|
|
723
|
+
*/
|
|
568
724
|
hostname?: string;
|
|
725
|
+
/**
|
|
726
|
+
* A list of hostname/IP mappings to add to the container's hosts file
|
|
727
|
+
*/
|
|
569
728
|
hosts?: outputs.ServiceTaskSpecContainerSpecHost[];
|
|
729
|
+
/**
|
|
730
|
+
* The image name to use for the containers of the service, like `nginx:1.17.6`. Also use the data-source or resource of `docker.RemoteImage` with the `repoDigest` or `docker.RegistryImage` with the `name` attribute for this, as shown in the examples.
|
|
731
|
+
*/
|
|
570
732
|
image: string;
|
|
733
|
+
/**
|
|
734
|
+
* Isolation technology of the containers running the service. (Windows only). Defaults to `default`.
|
|
735
|
+
*/
|
|
571
736
|
isolation?: string;
|
|
737
|
+
/**
|
|
738
|
+
* User-defined key/value metadata
|
|
739
|
+
*/
|
|
572
740
|
labels?: outputs.ServiceTaskSpecContainerSpecLabel[];
|
|
741
|
+
/**
|
|
742
|
+
* Specification for mounts to be added to containers created as part of the service
|
|
743
|
+
*/
|
|
573
744
|
mounts?: outputs.ServiceTaskSpecContainerSpecMount[];
|
|
745
|
+
/**
|
|
746
|
+
* Security options for the container
|
|
747
|
+
*/
|
|
574
748
|
privileges?: outputs.ServiceTaskSpecContainerSpecPrivileges;
|
|
749
|
+
/**
|
|
750
|
+
* Mount the container's root filesystem as read only
|
|
751
|
+
*/
|
|
575
752
|
readOnly?: boolean;
|
|
753
|
+
/**
|
|
754
|
+
* References to zero or more secrets that will be exposed to the service
|
|
755
|
+
*/
|
|
576
756
|
secrets?: outputs.ServiceTaskSpecContainerSpecSecret[];
|
|
757
|
+
/**
|
|
758
|
+
* Amount of time to wait for the container to terminate before forcefully removing it (ms|s|m|h). If not specified or '0s' the destroy will not check if all tasks/containers of the service terminate.
|
|
759
|
+
*/
|
|
577
760
|
stopGracePeriod: string;
|
|
761
|
+
/**
|
|
762
|
+
* Signal to stop the container
|
|
763
|
+
*/
|
|
578
764
|
stopSignal?: string;
|
|
765
|
+
/**
|
|
766
|
+
* Sysctls config (Linux only)
|
|
767
|
+
*/
|
|
579
768
|
sysctl?: {
|
|
580
769
|
[key: string]: any;
|
|
581
770
|
};
|
|
771
|
+
/**
|
|
772
|
+
* The user inside the container
|
|
773
|
+
*/
|
|
582
774
|
user?: string;
|
|
583
775
|
}
|
|
584
776
|
export interface ServiceTaskSpecContainerSpecConfig {
|
|
777
|
+
/**
|
|
778
|
+
* ID of the specific config that we're referencing
|
|
779
|
+
*/
|
|
585
780
|
configId: string;
|
|
781
|
+
/**
|
|
782
|
+
* Name of the config that this references, but this is just provided for lookup/display purposes. The config in the reference will be identified by its ID
|
|
783
|
+
*/
|
|
586
784
|
configName?: string;
|
|
785
|
+
/**
|
|
786
|
+
* Represents the file GID. Defaults to `0`.
|
|
787
|
+
*/
|
|
587
788
|
fileGid?: string;
|
|
789
|
+
/**
|
|
790
|
+
* Represents represents the FileMode of the file. Defaults to `0o444`.
|
|
791
|
+
*/
|
|
588
792
|
fileMode?: number;
|
|
793
|
+
/**
|
|
794
|
+
* Represents the final filename in the filesystem
|
|
795
|
+
*/
|
|
589
796
|
fileName: string;
|
|
797
|
+
/**
|
|
798
|
+
* Represents the file UID. Defaults to `0`.
|
|
799
|
+
*/
|
|
590
800
|
fileUid?: string;
|
|
591
801
|
}
|
|
592
802
|
export interface ServiceTaskSpecContainerSpecDnsConfig {
|
|
803
|
+
/**
|
|
804
|
+
* The IP addresses of the name servers
|
|
805
|
+
*/
|
|
593
806
|
nameservers: string[];
|
|
807
|
+
/**
|
|
808
|
+
* A list of internal resolver variables to be modified (e.g., `debug`, `ndots:3`, etc.)
|
|
809
|
+
*/
|
|
594
810
|
options?: string[];
|
|
811
|
+
/**
|
|
812
|
+
* A search list for host-name lookup
|
|
813
|
+
*/
|
|
595
814
|
searches?: string[];
|
|
596
815
|
}
|
|
597
816
|
export interface ServiceTaskSpecContainerSpecHealthcheck {
|
|
817
|
+
/**
|
|
818
|
+
* Time between running the check (ms|s|m|h). Defaults to `0s`.
|
|
819
|
+
*/
|
|
598
820
|
interval?: string;
|
|
821
|
+
/**
|
|
822
|
+
* Consecutive failures needed to report unhealthy. Defaults to `0`
|
|
823
|
+
*/
|
|
599
824
|
retries?: number;
|
|
825
|
+
/**
|
|
826
|
+
* Start period for the container to initialize before counting retries towards unstable (ms|s|m|h). Defaults to `0s`.
|
|
827
|
+
*/
|
|
600
828
|
startPeriod?: string;
|
|
829
|
+
/**
|
|
830
|
+
* The test to perform as list
|
|
831
|
+
*/
|
|
601
832
|
tests: string[];
|
|
833
|
+
/**
|
|
834
|
+
* Maximum time to allow one check to run (ms|s|m|h). Defaults to `0s`.
|
|
835
|
+
*/
|
|
602
836
|
timeout?: string;
|
|
603
837
|
}
|
|
604
838
|
export interface ServiceTaskSpecContainerSpecHost {
|
|
839
|
+
/**
|
|
840
|
+
* The name of the host
|
|
841
|
+
*/
|
|
605
842
|
host: string;
|
|
843
|
+
/**
|
|
844
|
+
* The ip of the host
|
|
845
|
+
*/
|
|
606
846
|
ip: string;
|
|
607
847
|
}
|
|
608
848
|
export interface ServiceTaskSpecContainerSpecLabel {
|
|
849
|
+
/**
|
|
850
|
+
* Name of the label
|
|
851
|
+
*/
|
|
609
852
|
label: string;
|
|
853
|
+
/**
|
|
854
|
+
* Value of the label
|
|
855
|
+
*/
|
|
610
856
|
value: string;
|
|
611
857
|
}
|
|
612
858
|
export interface ServiceTaskSpecContainerSpecMount {
|
|
859
|
+
/**
|
|
860
|
+
* Optional configuration for the bind type
|
|
861
|
+
*/
|
|
613
862
|
bindOptions?: outputs.ServiceTaskSpecContainerSpecMountBindOptions;
|
|
863
|
+
/**
|
|
864
|
+
* Whether the mount should be read-only
|
|
865
|
+
*/
|
|
614
866
|
readOnly?: boolean;
|
|
867
|
+
/**
|
|
868
|
+
* Mount source (e.g. a volume name, a host path)
|
|
869
|
+
*/
|
|
615
870
|
source?: string;
|
|
871
|
+
/**
|
|
872
|
+
* Container path
|
|
873
|
+
*/
|
|
616
874
|
target: string;
|
|
875
|
+
/**
|
|
876
|
+
* Optional configuration for the tmpfs type
|
|
877
|
+
*/
|
|
617
878
|
tmpfsOptions?: outputs.ServiceTaskSpecContainerSpecMountTmpfsOptions;
|
|
879
|
+
/**
|
|
880
|
+
* The mount type
|
|
881
|
+
*/
|
|
618
882
|
type: string;
|
|
883
|
+
/**
|
|
884
|
+
* Optional configuration for the volume type
|
|
885
|
+
*/
|
|
619
886
|
volumeOptions?: outputs.ServiceTaskSpecContainerSpecMountVolumeOptions;
|
|
620
887
|
}
|
|
621
888
|
export interface ServiceTaskSpecContainerSpecMountBindOptions {
|
|
889
|
+
/**
|
|
890
|
+
* Bind propagation refers to whether or not mounts created within a given bind-mount or named volume can be propagated to replicas of that mount. See the [docs](https://docs.docker.com/storage/bind-mounts/#configure-bind-propagation) for details. Defaults to `rprivate`
|
|
891
|
+
*/
|
|
622
892
|
propagation?: string;
|
|
623
893
|
}
|
|
624
894
|
export interface ServiceTaskSpecContainerSpecMountTmpfsOptions {
|
|
895
|
+
/**
|
|
896
|
+
* The permission mode for the tmpfs mount in an integer
|
|
897
|
+
*/
|
|
625
898
|
mode?: number;
|
|
899
|
+
/**
|
|
900
|
+
* The size for the tmpfs mount in bytes
|
|
901
|
+
*/
|
|
626
902
|
sizeBytes?: number;
|
|
627
903
|
}
|
|
628
904
|
export interface ServiceTaskSpecContainerSpecMountVolumeOptions {
|
|
905
|
+
/**
|
|
906
|
+
* Name of the driver to use to create the volume
|
|
907
|
+
*/
|
|
629
908
|
driverName?: string;
|
|
909
|
+
/**
|
|
910
|
+
* key/value map of driver specific options
|
|
911
|
+
*/
|
|
630
912
|
driverOptions?: {
|
|
631
913
|
[key: string]: string;
|
|
632
914
|
};
|
|
915
|
+
/**
|
|
916
|
+
* User-defined key/value metadata
|
|
917
|
+
*/
|
|
633
918
|
labels?: outputs.ServiceTaskSpecContainerSpecMountVolumeOptionsLabel[];
|
|
919
|
+
/**
|
|
920
|
+
* Populate volume with data from the target
|
|
921
|
+
*/
|
|
634
922
|
noCopy?: boolean;
|
|
635
923
|
}
|
|
636
924
|
export interface ServiceTaskSpecContainerSpecMountVolumeOptionsLabel {
|
|
925
|
+
/**
|
|
926
|
+
* Name of the label
|
|
927
|
+
*/
|
|
637
928
|
label: string;
|
|
929
|
+
/**
|
|
930
|
+
* Value of the label
|
|
931
|
+
*/
|
|
638
932
|
value: string;
|
|
639
933
|
}
|
|
640
934
|
export interface ServiceTaskSpecContainerSpecPrivileges {
|
|
935
|
+
/**
|
|
936
|
+
* CredentialSpec for managed service account (Windows only)
|
|
937
|
+
*/
|
|
641
938
|
credentialSpec?: outputs.ServiceTaskSpecContainerSpecPrivilegesCredentialSpec;
|
|
939
|
+
/**
|
|
940
|
+
* SELinux labels of the container
|
|
941
|
+
*/
|
|
642
942
|
seLinuxContext?: outputs.ServiceTaskSpecContainerSpecPrivilegesSeLinuxContext;
|
|
643
943
|
}
|
|
644
944
|
export interface ServiceTaskSpecContainerSpecPrivilegesCredentialSpec {
|
|
945
|
+
/**
|
|
946
|
+
* Load credential spec from this file
|
|
947
|
+
*/
|
|
645
948
|
file?: string;
|
|
949
|
+
/**
|
|
950
|
+
* Load credential spec from this value in the Windows registry
|
|
951
|
+
*/
|
|
646
952
|
registry?: string;
|
|
647
953
|
}
|
|
648
954
|
export interface ServiceTaskSpecContainerSpecPrivilegesSeLinuxContext {
|
|
955
|
+
/**
|
|
956
|
+
* Disable SELinux
|
|
957
|
+
*/
|
|
649
958
|
disable?: boolean;
|
|
959
|
+
/**
|
|
960
|
+
* SELinux level label
|
|
961
|
+
*/
|
|
650
962
|
level?: string;
|
|
963
|
+
/**
|
|
964
|
+
* SELinux role label
|
|
965
|
+
*/
|
|
651
966
|
role?: string;
|
|
967
|
+
/**
|
|
968
|
+
* SELinux type label
|
|
969
|
+
*/
|
|
652
970
|
type?: string;
|
|
971
|
+
/**
|
|
972
|
+
* SELinux user label
|
|
973
|
+
*/
|
|
653
974
|
user?: string;
|
|
654
975
|
}
|
|
655
976
|
export interface ServiceTaskSpecContainerSpecSecret {
|
|
977
|
+
/**
|
|
978
|
+
* Represents the file GID. Defaults to `0`
|
|
979
|
+
*/
|
|
656
980
|
fileGid?: string;
|
|
981
|
+
/**
|
|
982
|
+
* Represents represents the FileMode of the file. Defaults to `0o444`
|
|
983
|
+
*/
|
|
657
984
|
fileMode?: number;
|
|
985
|
+
/**
|
|
986
|
+
* Represents the final filename in the filesystem
|
|
987
|
+
*/
|
|
658
988
|
fileName: string;
|
|
989
|
+
/**
|
|
990
|
+
* Represents the file UID. Defaults to `0`
|
|
991
|
+
*/
|
|
659
992
|
fileUid?: string;
|
|
993
|
+
/**
|
|
994
|
+
* ID of the specific secret that we're referencing
|
|
995
|
+
*/
|
|
660
996
|
secretId: string;
|
|
997
|
+
/**
|
|
998
|
+
* Name of the secret that this references, but this is just provided for lookup/display purposes. The config in the reference will be identified by its ID
|
|
999
|
+
*/
|
|
661
1000
|
secretName?: string;
|
|
662
1001
|
}
|
|
663
1002
|
export interface ServiceTaskSpecLogDriver {
|
|
1003
|
+
/**
|
|
1004
|
+
* The logging driver to use
|
|
1005
|
+
*/
|
|
664
1006
|
name: string;
|
|
1007
|
+
/**
|
|
1008
|
+
* The options for the logging driver
|
|
1009
|
+
*/
|
|
665
1010
|
options?: {
|
|
666
1011
|
[key: string]: string;
|
|
667
1012
|
};
|
|
668
1013
|
}
|
|
669
1014
|
export interface ServiceTaskSpecNetworksAdvanced {
|
|
1015
|
+
/**
|
|
1016
|
+
* The network aliases of the container in the specific network.
|
|
1017
|
+
*/
|
|
670
1018
|
aliases?: string[];
|
|
1019
|
+
/**
|
|
1020
|
+
* An array of driver options for the network, e.g. `opts1=value`
|
|
1021
|
+
*/
|
|
671
1022
|
driverOpts?: string[];
|
|
1023
|
+
/**
|
|
1024
|
+
* The name/id of the network.
|
|
1025
|
+
*/
|
|
672
1026
|
name: string;
|
|
673
1027
|
}
|
|
674
1028
|
export interface ServiceTaskSpecPlacement {
|
|
1029
|
+
/**
|
|
1030
|
+
* An array of constraints. e.g.: `node.role==manager`
|
|
1031
|
+
*/
|
|
675
1032
|
constraints?: string[];
|
|
1033
|
+
/**
|
|
1034
|
+
* Maximum number of replicas for per node (default value is `0`, which is unlimited)
|
|
1035
|
+
*/
|
|
676
1036
|
maxReplicas?: number;
|
|
1037
|
+
/**
|
|
1038
|
+
* Platforms stores all the platforms that the service's image can run on
|
|
1039
|
+
*/
|
|
677
1040
|
platforms?: outputs.ServiceTaskSpecPlacementPlatform[];
|
|
1041
|
+
/**
|
|
1042
|
+
* 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`
|
|
1043
|
+
*/
|
|
678
1044
|
prefs?: string[];
|
|
679
1045
|
}
|
|
680
1046
|
export interface ServiceTaskSpecPlacementPlatform {
|
|
1047
|
+
/**
|
|
1048
|
+
* The architecture, e.g. `amd64`
|
|
1049
|
+
*/
|
|
681
1050
|
architecture: string;
|
|
1051
|
+
/**
|
|
1052
|
+
* The operation system, e.g. `linux`
|
|
1053
|
+
*/
|
|
682
1054
|
os: string;
|
|
683
1055
|
}
|
|
684
1056
|
export interface ServiceTaskSpecResources {
|
|
1057
|
+
/**
|
|
1058
|
+
* Describes the resources which can be advertised by a node and requested by a task
|
|
1059
|
+
*/
|
|
685
1060
|
limits?: outputs.ServiceTaskSpecResourcesLimits;
|
|
1061
|
+
/**
|
|
1062
|
+
* An object describing the resources which can be advertised by a node and requested by a task
|
|
1063
|
+
*/
|
|
686
1064
|
reservation?: outputs.ServiceTaskSpecResourcesReservation;
|
|
687
1065
|
}
|
|
688
1066
|
export interface ServiceTaskSpecResourcesLimits {
|
|
1067
|
+
/**
|
|
1068
|
+
* The amounf of memory in bytes the container allocates
|
|
1069
|
+
*/
|
|
689
1070
|
memoryBytes?: number;
|
|
1071
|
+
/**
|
|
1072
|
+
* CPU shares in units of `1/1e9` (or `10^-9`) of the CPU. Should be at least `1000000`
|
|
1073
|
+
*/
|
|
690
1074
|
nanoCpus?: number;
|
|
691
1075
|
}
|
|
692
1076
|
export interface ServiceTaskSpecResourcesReservation {
|
|
1077
|
+
/**
|
|
1078
|
+
* User-defined resources can be either Integer resources (e.g, `SSD=3`) or String resources (e.g, GPU=UUID1)
|
|
1079
|
+
*/
|
|
693
1080
|
genericResources?: outputs.ServiceTaskSpecResourcesReservationGenericResources;
|
|
1081
|
+
/**
|
|
1082
|
+
* The amounf of memory in bytes the container allocates
|
|
1083
|
+
*/
|
|
694
1084
|
memoryBytes?: number;
|
|
1085
|
+
/**
|
|
1086
|
+
* CPU shares in units of 1/1e9 (or 10^-9) of the CPU. Should be at least `1000000`
|
|
1087
|
+
*/
|
|
695
1088
|
nanoCpus?: number;
|
|
696
1089
|
}
|
|
697
1090
|
export interface ServiceTaskSpecResourcesReservationGenericResources {
|
|
1091
|
+
/**
|
|
1092
|
+
* The Integer resources
|
|
1093
|
+
*/
|
|
698
1094
|
discreteResourcesSpecs?: string[];
|
|
1095
|
+
/**
|
|
1096
|
+
* The String resources
|
|
1097
|
+
*/
|
|
699
1098
|
namedResourcesSpecs?: string[];
|
|
700
1099
|
}
|
|
701
1100
|
export interface ServiceTaskSpecRestartPolicy {
|
|
1101
|
+
/**
|
|
1102
|
+
* Condition for restart
|
|
1103
|
+
*/
|
|
702
1104
|
condition?: string;
|
|
1105
|
+
/**
|
|
1106
|
+
* Delay between restart attempts (ms|s|m|h)
|
|
1107
|
+
*/
|
|
703
1108
|
delay?: string;
|
|
1109
|
+
/**
|
|
1110
|
+
* Maximum attempts to restart a given container before giving up (default value is `0`, which is ignored)
|
|
1111
|
+
*/
|
|
704
1112
|
maxAttempts?: number;
|
|
1113
|
+
/**
|
|
1114
|
+
* The time window used to evaluate the restart policy (default value is `0`, which is unbounded) (ms|s|m|h)
|
|
1115
|
+
*/
|
|
705
1116
|
window?: string;
|
|
706
1117
|
}
|
|
707
1118
|
export interface ServiceUpdateConfig {
|
|
1119
|
+
/**
|
|
1120
|
+
* Delay between task updates `(ns|us|ms|s|m|h)`. Defaults to `0s`.
|
|
1121
|
+
*/
|
|
708
1122
|
delay?: string;
|
|
1123
|
+
/**
|
|
1124
|
+
* Action on update failure: `pause`, `continue` or `rollback`. Defaults to `pause`.
|
|
1125
|
+
*/
|
|
709
1126
|
failureAction?: string;
|
|
1127
|
+
/**
|
|
1128
|
+
* Failure rate to tolerate during an update. Defaults to `0.0`.
|
|
1129
|
+
*/
|
|
710
1130
|
maxFailureRatio?: string;
|
|
1131
|
+
/**
|
|
1132
|
+
* Duration after each task update to monitor for failure (ns|us|ms|s|m|h). Defaults to `5s`.
|
|
1133
|
+
*/
|
|
711
1134
|
monitor?: string;
|
|
1135
|
+
/**
|
|
1136
|
+
* Update order: either 'stop-first' or 'start-first'. Defaults to `stop-first`.
|
|
1137
|
+
*/
|
|
712
1138
|
order?: string;
|
|
1139
|
+
/**
|
|
1140
|
+
* Maximum number of tasks to be updated in one iteration. Defaults to `1`
|
|
1141
|
+
*/
|
|
713
1142
|
parallelism?: number;
|
|
714
1143
|
}
|
|
715
1144
|
export interface VolumeLabel {
|
|
@@ -724,11 +1153,26 @@ export interface VolumeLabel {
|
|
|
724
1153
|
}
|
|
725
1154
|
export declare namespace config {
|
|
726
1155
|
interface RegistryAuth {
|
|
1156
|
+
/**
|
|
1157
|
+
* Address of the registry
|
|
1158
|
+
*/
|
|
727
1159
|
address: string;
|
|
728
1160
|
authDisabled?: boolean;
|
|
1161
|
+
/**
|
|
1162
|
+
* Path to docker json file for registry auth. Defaults to `~/.docker/config.json`. If `DOCKER_CONFIG` is set, the value of `DOCKER_CONFIG` is used as the path. `configFile` has predencen over all other options.
|
|
1163
|
+
*/
|
|
729
1164
|
configFile?: string;
|
|
1165
|
+
/**
|
|
1166
|
+
* Plain content of the docker json file for registry auth. `configFileContent` has precedence over username/password.
|
|
1167
|
+
*/
|
|
730
1168
|
configFileContent?: string;
|
|
1169
|
+
/**
|
|
1170
|
+
* Password for the registry. Defaults to `DOCKER_REGISTRY_PASS` env variable if set.
|
|
1171
|
+
*/
|
|
731
1172
|
password?: string;
|
|
1173
|
+
/**
|
|
1174
|
+
* Username for the registry. Defaults to `DOCKER_REGISTRY_USER` env variable if set.
|
|
1175
|
+
*/
|
|
732
1176
|
username?: string;
|
|
733
1177
|
}
|
|
734
1178
|
}
|