@pulumi/docker 4.10.0-alpha.1762840686 → 4.10.0-alpha.1763064807

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pulumi/docker",
3
- "version": "4.10.0-alpha.1762840686",
3
+ "version": "4.10.0-alpha.1763064807",
4
4
  "description": "A Pulumi package for interacting with Docker in Pulumi programs",
5
5
  "keywords": [
6
6
  "pulumi",
@@ -24,6 +24,6 @@
24
24
  "pulumi": {
25
25
  "resource": true,
26
26
  "name": "docker",
27
- "version": "4.10.0-alpha.1762840686"
27
+ "version": "4.10.0-alpha.1763064807"
28
28
  }
29
29
  }
@@ -4,6 +4,26 @@ import * as outputs from "./types/output";
4
4
  /**
5
5
  * <!-- Bug: Type and Name are switched -->
6
6
  * Manages the lifecycle of docker image in a registry. You can upload images to a registry (= `docker push`) and also delete them again
7
+ *
8
+ * ## Example Usage
9
+ *
10
+ * Build an image with the `docker.RemoteImage` resource and then push it to a registry:
11
+ *
12
+ * ```typescript
13
+ * import * as pulumi from "@pulumi/pulumi";
14
+ * import * as docker from "@pulumi/docker";
15
+ *
16
+ * const image = new docker.RemoteImage("image", {
17
+ * name: "registry.com/somename:1.0",
18
+ * build: {
19
+ * context: `${process.cwd()}/absolutePathToContextFolder`,
20
+ * },
21
+ * });
22
+ * const helloworld = new docker.RegistryImage("helloworld", {
23
+ * name: image.name,
24
+ * keepRemotely: true,
25
+ * });
26
+ * ```
7
27
  */
8
28
  export declare class RegistryImage extends pulumi.CustomResource {
9
29
  /**
@@ -25,6 +45,7 @@ export declare class RegistryImage extends pulumi.CustomResource {
25
45
  * Authentication configuration for the Docker registry. It is only used for this resource.
26
46
  */
27
47
  readonly authConfig: pulumi.Output<outputs.RegistryImageAuthConfig | undefined>;
48
+ readonly build: pulumi.Output<outputs.RegistryImageBuild | undefined>;
28
49
  /**
29
50
  * If `true`, the verification of TLS certificates of the server/registry is disabled. Defaults to `false`
30
51
  */
@@ -64,6 +85,7 @@ export interface RegistryImageState {
64
85
  * Authentication configuration for the Docker registry. It is only used for this resource.
65
86
  */
66
87
  authConfig?: pulumi.Input<inputs.RegistryImageAuthConfig>;
88
+ build?: pulumi.Input<inputs.RegistryImageBuild>;
67
89
  /**
68
90
  * If `true`, the verification of TLS certificates of the server/registry is disabled. Defaults to `false`
69
91
  */
@@ -95,6 +117,7 @@ export interface RegistryImageArgs {
95
117
  * Authentication configuration for the Docker registry. It is only used for this resource.
96
118
  */
97
119
  authConfig?: pulumi.Input<inputs.RegistryImageAuthConfig>;
120
+ build?: pulumi.Input<inputs.RegistryImageBuild>;
98
121
  /**
99
122
  * If `true`, the verification of TLS certificates of the server/registry is disabled. Defaults to `false`
100
123
  */
package/registryImage.js CHANGED
@@ -8,6 +8,26 @@ const utilities = require("./utilities");
8
8
  /**
9
9
  * <!-- Bug: Type and Name are switched -->
10
10
  * Manages the lifecycle of docker image in a registry. You can upload images to a registry (= `docker push`) and also delete them again
11
+ *
12
+ * ## Example Usage
13
+ *
14
+ * Build an image with the `docker.RemoteImage` resource and then push it to a registry:
15
+ *
16
+ * ```typescript
17
+ * import * as pulumi from "@pulumi/pulumi";
18
+ * import * as docker from "@pulumi/docker";
19
+ *
20
+ * const image = new docker.RemoteImage("image", {
21
+ * name: "registry.com/somename:1.0",
22
+ * build: {
23
+ * context: `${process.cwd()}/absolutePathToContextFolder`,
24
+ * },
25
+ * });
26
+ * const helloworld = new docker.RegistryImage("helloworld", {
27
+ * name: image.name,
28
+ * keepRemotely: true,
29
+ * });
30
+ * ```
11
31
  */
12
32
  class RegistryImage extends pulumi.CustomResource {
13
33
  /**
@@ -38,6 +58,7 @@ class RegistryImage extends pulumi.CustomResource {
38
58
  if (opts.id) {
39
59
  const state = argsOrState;
40
60
  resourceInputs["authConfig"] = state?.authConfig;
61
+ resourceInputs["build"] = state?.build;
41
62
  resourceInputs["insecureSkipVerify"] = state?.insecureSkipVerify;
42
63
  resourceInputs["keepRemotely"] = state?.keepRemotely;
43
64
  resourceInputs["name"] = state?.name;
@@ -47,6 +68,7 @@ class RegistryImage extends pulumi.CustomResource {
47
68
  else {
48
69
  const args = argsOrState;
49
70
  resourceInputs["authConfig"] = args?.authConfig;
71
+ resourceInputs["build"] = args?.build;
50
72
  resourceInputs["insecureSkipVerify"] = args?.insecureSkipVerify;
51
73
  resourceInputs["keepRemotely"] = args?.keepRemotely;
52
74
  resourceInputs["name"] = args?.name;
@@ -1 +1 @@
1
- {"version":3,"file":"registryImage.js","sourceRoot":"","sources":["../registryImage.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AAIzC,yCAAyC;AAEzC;;;GAGG;AACH,MAAa,aAAc,SAAQ,MAAM,CAAC,cAAc;IACpD;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAA0B,EAAE,IAAmC;QACxH,OAAO,IAAI,aAAa,CAAC,IAAI,EAAO,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACpE,CAAC;IAKD;;;OAGG;IACI,MAAM,CAAC,UAAU,CAAC,GAAQ;QAC7B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE;YACnC,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,GAAG,CAAC,cAAc,CAAC,KAAK,aAAa,CAAC,YAAY,CAAC;IAC9D,CAAC;IAmCD,YAAY,IAAY,EAAE,WAAoD,EAAE,IAAmC;QAC/G,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAA6C,CAAC;YAC5D,cAAc,CAAC,YAAY,CAAC,GAAG,KAAK,EAAE,UAAU,CAAC;YACjD,cAAc,CAAC,oBAAoB,CAAC,GAAG,KAAK,EAAE,kBAAkB,CAAC;YACjE,cAAc,CAAC,cAAc,CAAC,GAAG,KAAK,EAAE,YAAY,CAAC;YACrD,cAAc,CAAC,MAAM,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC;YACrC,cAAc,CAAC,cAAc,CAAC,GAAG,KAAK,EAAE,YAAY,CAAC;YACrD,cAAc,CAAC,UAAU,CAAC,GAAG,KAAK,EAAE,QAAQ,CAAC;SAChD;aAAM;YACH,MAAM,IAAI,GAAG,WAA4C,CAAC;YAC1D,cAAc,CAAC,YAAY,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC;YAChD,cAAc,CAAC,oBAAoB,CAAC,GAAG,IAAI,EAAE,kBAAkB,CAAC;YAChE,cAAc,CAAC,cAAc,CAAC,GAAG,IAAI,EAAE,YAAY,CAAC;YACpD,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC;YACpC,cAAc,CAAC,UAAU,CAAC,GAAG,IAAI,EAAE,QAAQ,CAAC;YAC5C,cAAc,CAAC,cAAc,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;SACtD;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,aAAa,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IAClE,CAAC;;AAnFL,sCAoFC;AAtEG,gBAAgB;AACO,0BAAY,GAAG,0CAA0C,CAAC"}
1
+ {"version":3,"file":"registryImage.js","sourceRoot":"","sources":["../registryImage.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AAIzC,yCAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAa,aAAc,SAAQ,MAAM,CAAC,cAAc;IACpD;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAA0B,EAAE,IAAmC;QACxH,OAAO,IAAI,aAAa,CAAC,IAAI,EAAO,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACpE,CAAC;IAKD;;;OAGG;IACI,MAAM,CAAC,UAAU,CAAC,GAAQ;QAC7B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE;YACnC,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,GAAG,CAAC,cAAc,CAAC,KAAK,aAAa,CAAC,YAAY,CAAC;IAC9D,CAAC;IAoCD,YAAY,IAAY,EAAE,WAAoD,EAAE,IAAmC;QAC/G,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAA6C,CAAC;YAC5D,cAAc,CAAC,YAAY,CAAC,GAAG,KAAK,EAAE,UAAU,CAAC;YACjD,cAAc,CAAC,OAAO,CAAC,GAAG,KAAK,EAAE,KAAK,CAAC;YACvC,cAAc,CAAC,oBAAoB,CAAC,GAAG,KAAK,EAAE,kBAAkB,CAAC;YACjE,cAAc,CAAC,cAAc,CAAC,GAAG,KAAK,EAAE,YAAY,CAAC;YACrD,cAAc,CAAC,MAAM,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC;YACrC,cAAc,CAAC,cAAc,CAAC,GAAG,KAAK,EAAE,YAAY,CAAC;YACrD,cAAc,CAAC,UAAU,CAAC,GAAG,KAAK,EAAE,QAAQ,CAAC;SAChD;aAAM;YACH,MAAM,IAAI,GAAG,WAA4C,CAAC;YAC1D,cAAc,CAAC,YAAY,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC;YAChD,cAAc,CAAC,OAAO,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC;YACtC,cAAc,CAAC,oBAAoB,CAAC,GAAG,IAAI,EAAE,kBAAkB,CAAC;YAChE,cAAc,CAAC,cAAc,CAAC,GAAG,IAAI,EAAE,YAAY,CAAC;YACpD,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC;YACpC,cAAc,CAAC,UAAU,CAAC,GAAG,IAAI,EAAE,QAAQ,CAAC;YAC5C,cAAc,CAAC,cAAc,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;SACtD;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,aAAa,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IAClE,CAAC;;AAtFL,sCAuFC;AAzEG,gBAAgB;AACO,0BAAY,GAAG,0CAA0C,CAAC"}
package/types/input.d.ts CHANGED
@@ -389,6 +389,10 @@ export interface ContainerNetworksAdvanced {
389
389
  * The IPV6 address of the container in the specific network.
390
390
  */
391
391
  ipv6Address?: pulumi.Input<string>;
392
+ /**
393
+ * The MAC address of the container in the specific network.
394
+ */
395
+ macAddress?: pulumi.Input<string>;
392
396
  /**
393
397
  * The name or id of the network to use. You can use `name` or `id` attribute from a `docker.Network` resource.
394
398
  */
@@ -643,7 +647,237 @@ export interface RegistryImageAuthConfig {
643
647
  */
644
648
  username: pulumi.Input<string>;
645
649
  }
650
+ export interface RegistryImageBuild {
651
+ /**
652
+ * A list of additional build contexts. Only supported when using a buildx builder. Example: `["name=path", "src = https://example.org"}`. Please see https://docs.docker.com/reference/cli/docker/buildx/build/#build-context for more information.
653
+ */
654
+ additionalContexts?: pulumi.Input<pulumi.Input<string>[]>;
655
+ /**
656
+ * Authentication configuration for the Docker registry. It is only used for this resource.
657
+ */
658
+ authConfigs?: pulumi.Input<pulumi.Input<inputs.RegistryImageBuildAuthConfig>[]>;
659
+ /**
660
+ * Pairs for build-time variables in the form of `ENDPOINT : "https://example.com"`
661
+ */
662
+ buildArgs?: pulumi.Input<{
663
+ [key: string]: pulumi.Input<string>;
664
+ }>;
665
+ /**
666
+ * 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.
667
+ */
668
+ buildId?: pulumi.Input<string>;
669
+ /**
670
+ * Path to a file where the buildx log are written to. Only available when `builder` is set. If not set, no logs are available. The path is taken as is, so make sure to use a path that is available.
671
+ */
672
+ buildLogFile?: pulumi.Input<string>;
673
+ /**
674
+ * Set the name of the buildx builder to use. If not set, the legacy builder is used.
675
+ */
676
+ builder?: pulumi.Input<string>;
677
+ /**
678
+ * External cache sources (e.g., `user/app:cache`, `type=local,src=path/to/dir`). Only supported when using a buildx builder.
679
+ */
680
+ cacheFroms?: pulumi.Input<pulumi.Input<string>[]>;
681
+ /**
682
+ * Cache export destinations (e.g., `user/app:cache`, `type=local,dest=path/to/dir`). Only supported when using a buildx builder.
683
+ */
684
+ cacheTos?: pulumi.Input<pulumi.Input<string>[]>;
685
+ /**
686
+ * Optional parent cgroup for the container
687
+ */
688
+ cgroupParent?: pulumi.Input<string>;
689
+ /**
690
+ * Value to specify the build context. Currently, only a `PATH` context is supported. You can use the helper function '${path.cwd}/context-dir'. This always refers to the local working directory, even when building images on remote hosts. Please see https://docs.docker.com/build/building/context/ for more information about build contexts.
691
+ */
692
+ context: pulumi.Input<string>;
693
+ /**
694
+ * The length of a CPU period in microseconds
695
+ */
696
+ cpuPeriod?: pulumi.Input<number>;
697
+ /**
698
+ * Microseconds of CPU time that the container can get in a CPU period
699
+ */
700
+ cpuQuota?: pulumi.Input<number>;
701
+ /**
702
+ * CPUs in which to allow execution (e.g., `0-3`, `0`, `1`)
703
+ */
704
+ cpuSetCpus?: pulumi.Input<string>;
705
+ /**
706
+ * MEMs in which to allow execution (`0-3`, `0`, `1`)
707
+ */
708
+ cpuSetMems?: pulumi.Input<string>;
709
+ /**
710
+ * CPU shares (relative weight)
711
+ */
712
+ cpuShares?: pulumi.Input<number>;
713
+ /**
714
+ * Name of the Dockerfile. Defaults to `Dockerfile`.
715
+ */
716
+ dockerfile?: pulumi.Input<string>;
717
+ /**
718
+ * A list of hostnames/IP mappings to add to the container’s /etc/hosts file. Specified in the form ["hostname:IP"]
719
+ */
720
+ extraHosts?: pulumi.Input<pulumi.Input<string>[]>;
721
+ /**
722
+ * Always remove intermediate containers
723
+ */
724
+ forceRemove?: pulumi.Input<boolean>;
725
+ /**
726
+ * Isolation represents the isolation technology of a container. The supported values are
727
+ */
728
+ isolation?: pulumi.Input<string>;
729
+ /**
730
+ * Set metadata for an image
731
+ */
732
+ label?: pulumi.Input<{
733
+ [key: string]: pulumi.Input<string>;
734
+ }>;
735
+ /**
736
+ * User-defined key/value metadata
737
+ */
738
+ labels?: pulumi.Input<{
739
+ [key: string]: pulumi.Input<string>;
740
+ }>;
741
+ /**
742
+ * Set memory limit for build
743
+ */
744
+ memory?: pulumi.Input<number>;
745
+ /**
746
+ * Total memory (memory + swap), -1 to enable unlimited swap
747
+ */
748
+ memorySwap?: pulumi.Input<number>;
749
+ /**
750
+ * Set the networking mode for the RUN instructions during build
751
+ */
752
+ networkMode?: pulumi.Input<string>;
753
+ /**
754
+ * Do not use the cache when building the image
755
+ */
756
+ noCache?: pulumi.Input<boolean>;
757
+ /**
758
+ * Set the target platform for the build. Defaults to `GOOS/GOARCH`. For more information see the [docker documentation](https://github.com/docker/buildx/blob/master/docs/reference/buildx.md#-set-the-target-platforms-for-the-build---platform)
759
+ */
760
+ platform?: pulumi.Input<string>;
761
+ /**
762
+ * Attempt to pull the image even if an older image exists locally
763
+ */
764
+ pullParent?: pulumi.Input<boolean>;
765
+ /**
766
+ * A Git repository URI or HTTP/HTTPS context URI. Will be ignored if `builder` is set.
767
+ */
768
+ remoteContext?: pulumi.Input<string>;
769
+ /**
770
+ * Remove intermediate containers after a successful build. Defaults to `true`.
771
+ */
772
+ remove?: pulumi.Input<boolean>;
773
+ /**
774
+ * Set build-time secrets. Only available when you use a buildx builder.
775
+ */
776
+ secrets?: pulumi.Input<pulumi.Input<inputs.RegistryImageBuildSecret>[]>;
777
+ /**
778
+ * The security options
779
+ */
780
+ securityOpts?: pulumi.Input<pulumi.Input<string>[]>;
781
+ /**
782
+ * Set an ID for the build session
783
+ */
784
+ sessionId?: pulumi.Input<string>;
785
+ /**
786
+ * Size of /dev/shm in bytes. The size must be greater than 0
787
+ */
788
+ shmSize?: pulumi.Input<number>;
789
+ /**
790
+ * If true the new layers are squashed into a new image with a single new layer
791
+ */
792
+ squash?: pulumi.Input<boolean>;
793
+ /**
794
+ * Suppress the build output and print image ID on success
795
+ */
796
+ suppressOutput?: pulumi.Input<boolean>;
797
+ /**
798
+ * Name and optionally a tag in the 'name:tag' format
799
+ */
800
+ tags?: pulumi.Input<pulumi.Input<string>[]>;
801
+ /**
802
+ * Set the target build stage to build
803
+ */
804
+ target?: pulumi.Input<string>;
805
+ /**
806
+ * Configuration for ulimits
807
+ */
808
+ ulimits?: pulumi.Input<pulumi.Input<inputs.RegistryImageBuildUlimit>[]>;
809
+ /**
810
+ * Version of the underlying builder to use
811
+ */
812
+ version?: pulumi.Input<string>;
813
+ }
814
+ export interface RegistryImageBuildAuthConfig {
815
+ /**
816
+ * the auth token
817
+ */
818
+ auth?: pulumi.Input<string>;
819
+ /**
820
+ * the user emal
821
+ */
822
+ email?: pulumi.Input<string>;
823
+ /**
824
+ * hostname of the registry
825
+ */
826
+ hostName: pulumi.Input<string>;
827
+ /**
828
+ * the identity token
829
+ */
830
+ identityToken?: pulumi.Input<string>;
831
+ /**
832
+ * The password for the Docker registry.
833
+ */
834
+ password?: pulumi.Input<string>;
835
+ /**
836
+ * the registry token
837
+ */
838
+ registryToken?: pulumi.Input<string>;
839
+ /**
840
+ * the server address
841
+ */
842
+ serverAddress?: pulumi.Input<string>;
843
+ /**
844
+ * the registry user name
845
+ */
846
+ userName?: pulumi.Input<string>;
847
+ }
848
+ export interface RegistryImageBuildSecret {
849
+ /**
850
+ * Environment variable source of the secret
851
+ */
852
+ env?: pulumi.Input<string>;
853
+ /**
854
+ * The ID of this resource.
855
+ */
856
+ id: pulumi.Input<string>;
857
+ /**
858
+ * File source of the secret. Takes precedence over `env`
859
+ */
860
+ src?: pulumi.Input<string>;
861
+ }
862
+ export interface RegistryImageBuildUlimit {
863
+ /**
864
+ * soft limit
865
+ */
866
+ hard: pulumi.Input<number>;
867
+ /**
868
+ * The name of the Docker image.
869
+ */
870
+ name: pulumi.Input<string>;
871
+ /**
872
+ * hard limit
873
+ */
874
+ soft: pulumi.Input<number>;
875
+ }
646
876
  export interface RemoteImageBuild {
877
+ /**
878
+ * A list of additional build contexts. Only supported when using a buildx builder. Example: `["name=path", "src = https://example.org"}`. Please see https://docs.docker.com/reference/cli/docker/buildx/build/#build-context for more information.
879
+ */
880
+ additionalContexts?: pulumi.Input<pulumi.Input<string>[]>;
647
881
  /**
648
882
  * The configuration for the authentication
649
883
  */
@@ -1483,6 +1717,48 @@ export interface ServiceUpdateConfig {
1483
1717
  */
1484
1718
  parallelism?: pulumi.Input<number>;
1485
1719
  }
1720
+ export interface VolumeCluster {
1721
+ /**
1722
+ * Availability of the volume. Can be `active` (default), `pause`, or `drain`.
1723
+ */
1724
+ availability?: pulumi.Input<string>;
1725
+ /**
1726
+ * Cluster Volume group
1727
+ */
1728
+ group?: pulumi.Input<string>;
1729
+ /**
1730
+ * The ID of the cluster volume.
1731
+ */
1732
+ id?: pulumi.Input<string>;
1733
+ /**
1734
+ * Minimum size of the Cluster Volume in human readable memory bytes (like 128MiB, 2GiB, etc). Must be in format of KiB, MiB, Gib, Tib or PiB.
1735
+ */
1736
+ limitBytes?: pulumi.Input<string>;
1737
+ /**
1738
+ * Maximum size of the Cluster Volume in human readable memory bytes (like 128MiB, 2GiB, etc). Must be in format of KiB, MiB, Gib, Tib or PiB.
1739
+ */
1740
+ requiredBytes?: pulumi.Input<string>;
1741
+ /**
1742
+ * The scope of the volume. Can be `single` (default) or `multi`.
1743
+ */
1744
+ scope?: pulumi.Input<string>;
1745
+ /**
1746
+ * The sharing mode. Can be `none` (default), `readonly`, `onewriter` or `all`.
1747
+ */
1748
+ sharing?: pulumi.Input<string>;
1749
+ /**
1750
+ * A topology that the Cluster Volume would be preferred in
1751
+ */
1752
+ topologyPreferred?: pulumi.Input<string>;
1753
+ /**
1754
+ * A topology that the Cluster Volume must be accessible from
1755
+ */
1756
+ topologyRequired?: pulumi.Input<string>;
1757
+ /**
1758
+ * Cluster Volume access type. Can be `mount` or `block` (default).
1759
+ */
1760
+ type?: pulumi.Input<string>;
1761
+ }
1486
1762
  export interface VolumeLabel {
1487
1763
  /**
1488
1764
  * Name of the label
package/types/output.d.ts CHANGED
@@ -378,6 +378,10 @@ export interface ContainerNetworksAdvanced {
378
378
  * The IPV6 address of the container in the specific network.
379
379
  */
380
380
  ipv6Address?: string;
381
+ /**
382
+ * The MAC address of the container in the specific network.
383
+ */
384
+ macAddress?: string;
381
385
  /**
382
386
  * The name or id of the network to use. You can use `name` or `id` attribute from a `docker.Network` resource.
383
387
  */
@@ -573,7 +577,237 @@ export interface RegistryImageAuthConfig {
573
577
  */
574
578
  username: string;
575
579
  }
580
+ export interface RegistryImageBuild {
581
+ /**
582
+ * A list of additional build contexts. Only supported when using a buildx builder. Example: `["name=path", "src = https://example.org"}`. Please see https://docs.docker.com/reference/cli/docker/buildx/build/#build-context for more information.
583
+ */
584
+ additionalContexts?: string[];
585
+ /**
586
+ * Authentication configuration for the Docker registry. It is only used for this resource.
587
+ */
588
+ authConfigs?: outputs.RegistryImageBuildAuthConfig[];
589
+ /**
590
+ * Pairs for build-time variables in the form of `ENDPOINT : "https://example.com"`
591
+ */
592
+ buildArgs?: {
593
+ [key: string]: string;
594
+ };
595
+ /**
596
+ * 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.
597
+ */
598
+ buildId?: string;
599
+ /**
600
+ * Path to a file where the buildx log are written to. Only available when `builder` is set. If not set, no logs are available. The path is taken as is, so make sure to use a path that is available.
601
+ */
602
+ buildLogFile?: string;
603
+ /**
604
+ * Set the name of the buildx builder to use. If not set, the legacy builder is used.
605
+ */
606
+ builder?: string;
607
+ /**
608
+ * External cache sources (e.g., `user/app:cache`, `type=local,src=path/to/dir`). Only supported when using a buildx builder.
609
+ */
610
+ cacheFroms?: string[];
611
+ /**
612
+ * Cache export destinations (e.g., `user/app:cache`, `type=local,dest=path/to/dir`). Only supported when using a buildx builder.
613
+ */
614
+ cacheTos?: string[];
615
+ /**
616
+ * Optional parent cgroup for the container
617
+ */
618
+ cgroupParent?: string;
619
+ /**
620
+ * Value to specify the build context. Currently, only a `PATH` context is supported. You can use the helper function '${path.cwd}/context-dir'. This always refers to the local working directory, even when building images on remote hosts. Please see https://docs.docker.com/build/building/context/ for more information about build contexts.
621
+ */
622
+ context: string;
623
+ /**
624
+ * The length of a CPU period in microseconds
625
+ */
626
+ cpuPeriod?: number;
627
+ /**
628
+ * Microseconds of CPU time that the container can get in a CPU period
629
+ */
630
+ cpuQuota?: number;
631
+ /**
632
+ * CPUs in which to allow execution (e.g., `0-3`, `0`, `1`)
633
+ */
634
+ cpuSetCpus?: string;
635
+ /**
636
+ * MEMs in which to allow execution (`0-3`, `0`, `1`)
637
+ */
638
+ cpuSetMems?: string;
639
+ /**
640
+ * CPU shares (relative weight)
641
+ */
642
+ cpuShares?: number;
643
+ /**
644
+ * Name of the Dockerfile. Defaults to `Dockerfile`.
645
+ */
646
+ dockerfile?: string;
647
+ /**
648
+ * A list of hostnames/IP mappings to add to the container’s /etc/hosts file. Specified in the form ["hostname:IP"]
649
+ */
650
+ extraHosts?: string[];
651
+ /**
652
+ * Always remove intermediate containers
653
+ */
654
+ forceRemove?: boolean;
655
+ /**
656
+ * Isolation represents the isolation technology of a container. The supported values are
657
+ */
658
+ isolation?: string;
659
+ /**
660
+ * Set metadata for an image
661
+ */
662
+ label?: {
663
+ [key: string]: string;
664
+ };
665
+ /**
666
+ * User-defined key/value metadata
667
+ */
668
+ labels?: {
669
+ [key: string]: string;
670
+ };
671
+ /**
672
+ * Set memory limit for build
673
+ */
674
+ memory?: number;
675
+ /**
676
+ * Total memory (memory + swap), -1 to enable unlimited swap
677
+ */
678
+ memorySwap?: number;
679
+ /**
680
+ * Set the networking mode for the RUN instructions during build
681
+ */
682
+ networkMode?: string;
683
+ /**
684
+ * Do not use the cache when building the image
685
+ */
686
+ noCache?: boolean;
687
+ /**
688
+ * Set the target platform for the build. Defaults to `GOOS/GOARCH`. For more information see the [docker documentation](https://github.com/docker/buildx/blob/master/docs/reference/buildx.md#-set-the-target-platforms-for-the-build---platform)
689
+ */
690
+ platform?: string;
691
+ /**
692
+ * Attempt to pull the image even if an older image exists locally
693
+ */
694
+ pullParent?: boolean;
695
+ /**
696
+ * A Git repository URI or HTTP/HTTPS context URI. Will be ignored if `builder` is set.
697
+ */
698
+ remoteContext?: string;
699
+ /**
700
+ * Remove intermediate containers after a successful build. Defaults to `true`.
701
+ */
702
+ remove?: boolean;
703
+ /**
704
+ * Set build-time secrets. Only available when you use a buildx builder.
705
+ */
706
+ secrets?: outputs.RegistryImageBuildSecret[];
707
+ /**
708
+ * The security options
709
+ */
710
+ securityOpts?: string[];
711
+ /**
712
+ * Set an ID for the build session
713
+ */
714
+ sessionId?: string;
715
+ /**
716
+ * Size of /dev/shm in bytes. The size must be greater than 0
717
+ */
718
+ shmSize?: number;
719
+ /**
720
+ * If true the new layers are squashed into a new image with a single new layer
721
+ */
722
+ squash?: boolean;
723
+ /**
724
+ * Suppress the build output and print image ID on success
725
+ */
726
+ suppressOutput?: boolean;
727
+ /**
728
+ * Name and optionally a tag in the 'name:tag' format
729
+ */
730
+ tags?: string[];
731
+ /**
732
+ * Set the target build stage to build
733
+ */
734
+ target?: string;
735
+ /**
736
+ * Configuration for ulimits
737
+ */
738
+ ulimits?: outputs.RegistryImageBuildUlimit[];
739
+ /**
740
+ * Version of the underlying builder to use
741
+ */
742
+ version?: string;
743
+ }
744
+ export interface RegistryImageBuildAuthConfig {
745
+ /**
746
+ * the auth token
747
+ */
748
+ auth?: string;
749
+ /**
750
+ * the user emal
751
+ */
752
+ email?: string;
753
+ /**
754
+ * hostname of the registry
755
+ */
756
+ hostName: string;
757
+ /**
758
+ * the identity token
759
+ */
760
+ identityToken?: string;
761
+ /**
762
+ * The password for the Docker registry.
763
+ */
764
+ password?: string;
765
+ /**
766
+ * the registry token
767
+ */
768
+ registryToken?: string;
769
+ /**
770
+ * the server address
771
+ */
772
+ serverAddress?: string;
773
+ /**
774
+ * the registry user name
775
+ */
776
+ userName?: string;
777
+ }
778
+ export interface RegistryImageBuildSecret {
779
+ /**
780
+ * Environment variable source of the secret
781
+ */
782
+ env?: string;
783
+ /**
784
+ * The ID of this resource.
785
+ */
786
+ id: string;
787
+ /**
788
+ * File source of the secret. Takes precedence over `env`
789
+ */
790
+ src?: string;
791
+ }
792
+ export interface RegistryImageBuildUlimit {
793
+ /**
794
+ * soft limit
795
+ */
796
+ hard: number;
797
+ /**
798
+ * The name of the Docker image.
799
+ */
800
+ name: string;
801
+ /**
802
+ * hard limit
803
+ */
804
+ soft: number;
805
+ }
576
806
  export interface RemoteImageBuild {
807
+ /**
808
+ * A list of additional build contexts. Only supported when using a buildx builder. Example: `["name=path", "src = https://example.org"}`. Please see https://docs.docker.com/reference/cli/docker/buildx/build/#build-context for more information.
809
+ */
810
+ additionalContexts?: string[];
577
811
  /**
578
812
  * The configuration for the authentication
579
813
  */
@@ -1413,6 +1647,48 @@ export interface ServiceUpdateConfig {
1413
1647
  */
1414
1648
  parallelism?: number;
1415
1649
  }
1650
+ export interface VolumeCluster {
1651
+ /**
1652
+ * Availability of the volume. Can be `active` (default), `pause`, or `drain`.
1653
+ */
1654
+ availability?: string;
1655
+ /**
1656
+ * Cluster Volume group
1657
+ */
1658
+ group?: string;
1659
+ /**
1660
+ * The ID of the cluster volume.
1661
+ */
1662
+ id: string;
1663
+ /**
1664
+ * Minimum size of the Cluster Volume in human readable memory bytes (like 128MiB, 2GiB, etc). Must be in format of KiB, MiB, Gib, Tib or PiB.
1665
+ */
1666
+ limitBytes?: string;
1667
+ /**
1668
+ * Maximum size of the Cluster Volume in human readable memory bytes (like 128MiB, 2GiB, etc). Must be in format of KiB, MiB, Gib, Tib or PiB.
1669
+ */
1670
+ requiredBytes?: string;
1671
+ /**
1672
+ * The scope of the volume. Can be `single` (default) or `multi`.
1673
+ */
1674
+ scope?: string;
1675
+ /**
1676
+ * The sharing mode. Can be `none` (default), `readonly`, `onewriter` or `all`.
1677
+ */
1678
+ sharing?: string;
1679
+ /**
1680
+ * A topology that the Cluster Volume would be preferred in
1681
+ */
1682
+ topologyPreferred?: string;
1683
+ /**
1684
+ * A topology that the Cluster Volume must be accessible from
1685
+ */
1686
+ topologyRequired?: string;
1687
+ /**
1688
+ * Cluster Volume access type. Can be `mount` or `block` (default).
1689
+ */
1690
+ type?: string;
1691
+ }
1416
1692
  export interface VolumeLabel {
1417
1693
  /**
1418
1694
  * Name of the label
package/volume.d.ts CHANGED
@@ -62,6 +62,10 @@ export declare class Volume extends pulumi.CustomResource {
62
62
  * when multiple copies of the Pulumi SDK have been loaded into the same process.
63
63
  */
64
64
  static isInstance(obj: any): obj is Volume;
65
+ /**
66
+ * Cluster-specific options for volume creation. Only works if the Docker daemon is running in swarm mode and is the swarm manager.
67
+ */
68
+ readonly cluster: pulumi.Output<outputs.VolumeCluster | undefined>;
65
69
  /**
66
70
  * Driver type for the volume. Defaults to `local`.
67
71
  */
@@ -97,6 +101,10 @@ export declare class Volume extends pulumi.CustomResource {
97
101
  * Input properties used for looking up and filtering Volume resources.
98
102
  */
99
103
  export interface VolumeState {
104
+ /**
105
+ * Cluster-specific options for volume creation. Only works if the Docker daemon is running in swarm mode and is the swarm manager.
106
+ */
107
+ cluster?: pulumi.Input<inputs.VolumeCluster>;
100
108
  /**
101
109
  * Driver type for the volume. Defaults to `local`.
102
110
  */
@@ -124,6 +132,10 @@ export interface VolumeState {
124
132
  * The set of arguments for constructing a Volume resource.
125
133
  */
126
134
  export interface VolumeArgs {
135
+ /**
136
+ * Cluster-specific options for volume creation. Only works if the Docker daemon is running in swarm mode and is the swarm manager.
137
+ */
138
+ cluster?: pulumi.Input<inputs.VolumeCluster>;
127
139
  /**
128
140
  * Driver type for the volume. Defaults to `local`.
129
141
  */
package/volume.js CHANGED
@@ -78,6 +78,7 @@ class Volume extends pulumi.CustomResource {
78
78
  opts = opts || {};
79
79
  if (opts.id) {
80
80
  const state = argsOrState;
81
+ resourceInputs["cluster"] = state?.cluster;
81
82
  resourceInputs["driver"] = state?.driver;
82
83
  resourceInputs["driverOpts"] = state?.driverOpts;
83
84
  resourceInputs["labels"] = state?.labels;
@@ -86,6 +87,7 @@ class Volume extends pulumi.CustomResource {
86
87
  }
87
88
  else {
88
89
  const args = argsOrState;
90
+ resourceInputs["cluster"] = args?.cluster;
89
91
  resourceInputs["driver"] = args?.driver;
90
92
  resourceInputs["driverOpts"] = args?.driverOpts;
91
93
  resourceInputs["labels"] = args?.labels;
package/volume.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"volume.js","sourceRoot":"","sources":["../volume.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AAIzC,yCAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,MAAa,MAAO,SAAQ,MAAM,CAAC,cAAc;IAC7C;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAAmB,EAAE,IAAmC;QACjH,OAAO,IAAI,MAAM,CAAC,IAAI,EAAO,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC7D,CAAC;IAKD;;;OAGG;IACI,MAAM,CAAC,UAAU,CAAC,GAAQ;QAC7B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE;YACnC,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,GAAG,CAAC,cAAc,CAAC,KAAK,MAAM,CAAC,YAAY,CAAC;IACvD,CAAC;IA+BD,YAAY,IAAY,EAAE,WAAsC,EAAE,IAAmC;QACjG,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAAsC,CAAC;YACrD,cAAc,CAAC,QAAQ,CAAC,GAAG,KAAK,EAAE,MAAM,CAAC;YACzC,cAAc,CAAC,YAAY,CAAC,GAAG,KAAK,EAAE,UAAU,CAAC;YACjD,cAAc,CAAC,QAAQ,CAAC,GAAG,KAAK,EAAE,MAAM,CAAC;YACzC,cAAc,CAAC,YAAY,CAAC,GAAG,KAAK,EAAE,UAAU,CAAC;YACjD,cAAc,CAAC,MAAM,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC;SACxC;aAAM;YACH,MAAM,IAAI,GAAG,WAAqC,CAAC;YACnD,cAAc,CAAC,QAAQ,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC;YACxC,cAAc,CAAC,YAAY,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC;YAChD,cAAc,CAAC,QAAQ,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC;YACxC,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC;YACpC,cAAc,CAAC,YAAY,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;SACpD;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IAC3D,CAAC;;AA7EL,wBA8EC;AAhEG,gBAAgB;AACO,mBAAY,GAAG,4BAA4B,CAAC"}
1
+ {"version":3,"file":"volume.js","sourceRoot":"","sources":["../volume.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AAIzC,yCAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,MAAa,MAAO,SAAQ,MAAM,CAAC,cAAc;IAC7C;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAAmB,EAAE,IAAmC;QACjH,OAAO,IAAI,MAAM,CAAC,IAAI,EAAO,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC7D,CAAC;IAKD;;;OAGG;IACI,MAAM,CAAC,UAAU,CAAC,GAAQ;QAC7B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE;YACnC,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,GAAG,CAAC,cAAc,CAAC,KAAK,MAAM,CAAC,YAAY,CAAC;IACvD,CAAC;IAmCD,YAAY,IAAY,EAAE,WAAsC,EAAE,IAAmC;QACjG,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAAsC,CAAC;YACrD,cAAc,CAAC,SAAS,CAAC,GAAG,KAAK,EAAE,OAAO,CAAC;YAC3C,cAAc,CAAC,QAAQ,CAAC,GAAG,KAAK,EAAE,MAAM,CAAC;YACzC,cAAc,CAAC,YAAY,CAAC,GAAG,KAAK,EAAE,UAAU,CAAC;YACjD,cAAc,CAAC,QAAQ,CAAC,GAAG,KAAK,EAAE,MAAM,CAAC;YACzC,cAAc,CAAC,YAAY,CAAC,GAAG,KAAK,EAAE,UAAU,CAAC;YACjD,cAAc,CAAC,MAAM,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC;SACxC;aAAM;YACH,MAAM,IAAI,GAAG,WAAqC,CAAC;YACnD,cAAc,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC;YAC1C,cAAc,CAAC,QAAQ,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC;YACxC,cAAc,CAAC,YAAY,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC;YAChD,cAAc,CAAC,QAAQ,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC;YACxC,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC;YACpC,cAAc,CAAC,YAAY,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;SACpD;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IAC3D,CAAC;;AAnFL,wBAoFC;AAtEG,gBAAgB;AACO,mBAAY,GAAG,4BAA4B,CAAC"}