pulumi-docker 4.7.0a1747374653__tar.gz → 4.7.0a1747851171__tar.gz

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.

Potentially problematic release.


This version of pulumi-docker might be problematic. Click here for more details.

Files changed (38) hide show
  1. {pulumi_docker-4.7.0a1747374653 → pulumi_docker-4.7.0a1747851171}/PKG-INFO +1 -1
  2. {pulumi_docker-4.7.0a1747374653 → pulumi_docker-4.7.0a1747851171}/pulumi_docker/__init__.py +1 -0
  3. {pulumi_docker-4.7.0a1747374653 → pulumi_docker-4.7.0a1747851171}/pulumi_docker/_inputs.py +345 -30
  4. {pulumi_docker-4.7.0a1747374653 → pulumi_docker-4.7.0a1747851171}/pulumi_docker/config/__init__.pyi +12 -0
  5. {pulumi_docker-4.7.0a1747374653 → pulumi_docker-4.7.0a1747851171}/pulumi_docker/config/vars.py +16 -0
  6. {pulumi_docker-4.7.0a1747374653 → pulumi_docker-4.7.0a1747851171}/pulumi_docker/container.py +82 -35
  7. pulumi_docker-4.7.0a1747851171/pulumi_docker/get_registry_image_manifests.py +151 -0
  8. {pulumi_docker-4.7.0a1747374653 → pulumi_docker-4.7.0a1747851171}/pulumi_docker/network.py +9 -0
  9. {pulumi_docker-4.7.0a1747374653 → pulumi_docker-4.7.0a1747851171}/pulumi_docker/outputs.py +261 -22
  10. {pulumi_docker-4.7.0a1747374653 → pulumi_docker-4.7.0a1747851171}/pulumi_docker/provider.py +55 -0
  11. {pulumi_docker-4.7.0a1747374653 → pulumi_docker-4.7.0a1747851171}/pulumi_docker/pulumi-plugin.json +1 -1
  12. {pulumi_docker-4.7.0a1747374653 → pulumi_docker-4.7.0a1747851171}/pulumi_docker/registry_image.py +49 -0
  13. {pulumi_docker-4.7.0a1747374653 → pulumi_docker-4.7.0a1747851171}/pulumi_docker/remote_image.py +6 -133
  14. {pulumi_docker-4.7.0a1747374653 → pulumi_docker-4.7.0a1747851171}/pulumi_docker/tag.py +48 -1
  15. {pulumi_docker-4.7.0a1747374653 → pulumi_docker-4.7.0a1747851171}/pulumi_docker.egg-info/PKG-INFO +1 -1
  16. {pulumi_docker-4.7.0a1747374653 → pulumi_docker-4.7.0a1747851171}/pulumi_docker.egg-info/SOURCES.txt +1 -0
  17. {pulumi_docker-4.7.0a1747374653 → pulumi_docker-4.7.0a1747851171}/pyproject.toml +1 -1
  18. {pulumi_docker-4.7.0a1747374653 → pulumi_docker-4.7.0a1747851171}/README.md +0 -0
  19. {pulumi_docker-4.7.0a1747374653 → pulumi_docker-4.7.0a1747851171}/pulumi_docker/_enums.py +0 -0
  20. {pulumi_docker-4.7.0a1747374653 → pulumi_docker-4.7.0a1747851171}/pulumi_docker/_utilities.py +0 -0
  21. {pulumi_docker-4.7.0a1747374653 → pulumi_docker-4.7.0a1747851171}/pulumi_docker/config/__init__.py +0 -0
  22. {pulumi_docker-4.7.0a1747374653 → pulumi_docker-4.7.0a1747851171}/pulumi_docker/config/outputs.py +0 -0
  23. {pulumi_docker-4.7.0a1747374653 → pulumi_docker-4.7.0a1747851171}/pulumi_docker/get_logs.py +0 -0
  24. {pulumi_docker-4.7.0a1747374653 → pulumi_docker-4.7.0a1747851171}/pulumi_docker/get_network.py +0 -0
  25. {pulumi_docker-4.7.0a1747374653 → pulumi_docker-4.7.0a1747851171}/pulumi_docker/get_plugin.py +0 -0
  26. {pulumi_docker-4.7.0a1747374653 → pulumi_docker-4.7.0a1747851171}/pulumi_docker/get_registry_image.py +0 -0
  27. {pulumi_docker-4.7.0a1747374653 → pulumi_docker-4.7.0a1747851171}/pulumi_docker/get_remote_image.py +0 -0
  28. {pulumi_docker-4.7.0a1747374653 → pulumi_docker-4.7.0a1747851171}/pulumi_docker/image.py +0 -0
  29. {pulumi_docker-4.7.0a1747374653 → pulumi_docker-4.7.0a1747851171}/pulumi_docker/plugin.py +0 -0
  30. {pulumi_docker-4.7.0a1747374653 → pulumi_docker-4.7.0a1747851171}/pulumi_docker/py.typed +0 -0
  31. {pulumi_docker-4.7.0a1747374653 → pulumi_docker-4.7.0a1747851171}/pulumi_docker/secret.py +0 -0
  32. {pulumi_docker-4.7.0a1747374653 → pulumi_docker-4.7.0a1747851171}/pulumi_docker/service.py +0 -0
  33. {pulumi_docker-4.7.0a1747374653 → pulumi_docker-4.7.0a1747851171}/pulumi_docker/service_config.py +0 -0
  34. {pulumi_docker-4.7.0a1747374653 → pulumi_docker-4.7.0a1747851171}/pulumi_docker/volume.py +0 -0
  35. {pulumi_docker-4.7.0a1747374653 → pulumi_docker-4.7.0a1747851171}/pulumi_docker.egg-info/dependency_links.txt +0 -0
  36. {pulumi_docker-4.7.0a1747374653 → pulumi_docker-4.7.0a1747851171}/pulumi_docker.egg-info/requires.txt +0 -0
  37. {pulumi_docker-4.7.0a1747374653 → pulumi_docker-4.7.0a1747851171}/pulumi_docker.egg-info/top_level.txt +0 -0
  38. {pulumi_docker-4.7.0a1747374653 → pulumi_docker-4.7.0a1747851171}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pulumi_docker
3
- Version: 4.7.0a1747374653
3
+ Version: 4.7.0a1747851171
4
4
  Summary: A Pulumi package for interacting with Docker in Pulumi programs
5
5
  License: Apache-2.0
6
6
  Project-URL: Homepage, https://pulumi.io
@@ -12,6 +12,7 @@ from .get_logs import *
12
12
  from .get_network import *
13
13
  from .get_plugin import *
14
14
  from .get_registry_image import *
15
+ from .get_registry_image_manifests import *
15
16
  from .get_remote_image import *
16
17
  from .image import *
17
18
  from .network import *
@@ -57,10 +57,14 @@ __all__ = [
57
57
  'PluginGrantPermissionArgsDict',
58
58
  'ProviderRegistryAuthArgs',
59
59
  'ProviderRegistryAuthArgsDict',
60
+ 'RegistryImageAuthConfigArgs',
61
+ 'RegistryImageAuthConfigArgsDict',
60
62
  'RemoteImageBuildArgs',
61
63
  'RemoteImageBuildArgsDict',
62
64
  'RemoteImageBuildAuthConfigArgs',
63
65
  'RemoteImageBuildAuthConfigArgsDict',
66
+ 'RemoteImageBuildSecretArgs',
67
+ 'RemoteImageBuildSecretArgsDict',
64
68
  'RemoteImageBuildUlimitArgs',
65
69
  'RemoteImageBuildUlimitArgsDict',
66
70
  'SecretLabelArgs',
@@ -139,6 +143,8 @@ __all__ = [
139
143
  'CacheFromArgsDict',
140
144
  'DockerBuildArgs',
141
145
  'DockerBuildArgsDict',
146
+ 'GetRegistryImageManifestsAuthConfigArgs',
147
+ 'GetRegistryImageManifestsAuthConfigArgsDict',
142
148
  'RegistryArgs',
143
149
  'RegistryArgsDict',
144
150
  ]
@@ -282,6 +288,10 @@ if not MYPY:
282
288
  """
283
289
  Consecutive failures needed to report unhealthy. Defaults to `0`.
284
290
  """
291
+ start_interval: NotRequired[pulumi.Input[builtins.str]]
292
+ """
293
+ Interval before the healthcheck starts (ms|s|m|h). Defaults to `0s`.
294
+ """
285
295
  start_period: NotRequired[pulumi.Input[builtins.str]]
286
296
  """
287
297
  Start period for the container to initialize before counting retries towards unstable (ms|s|m|h). Defaults to `0s`.
@@ -299,12 +309,14 @@ class ContainerHealthcheckArgs:
299
309
  tests: pulumi.Input[Sequence[pulumi.Input[builtins.str]]],
300
310
  interval: Optional[pulumi.Input[builtins.str]] = None,
301
311
  retries: Optional[pulumi.Input[builtins.int]] = None,
312
+ start_interval: Optional[pulumi.Input[builtins.str]] = None,
302
313
  start_period: Optional[pulumi.Input[builtins.str]] = None,
303
314
  timeout: Optional[pulumi.Input[builtins.str]] = None):
304
315
  """
305
316
  :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] tests: Command to run to check health. For example, to run `curl -f localhost/health` set the command to be `["CMD", "curl", "-f", "localhost/health"]`.
306
317
  :param pulumi.Input[builtins.str] interval: Time between running the check (ms|s|m|h). Defaults to `0s`.
307
318
  :param pulumi.Input[builtins.int] retries: Consecutive failures needed to report unhealthy. Defaults to `0`.
319
+ :param pulumi.Input[builtins.str] start_interval: Interval before the healthcheck starts (ms|s|m|h). Defaults to `0s`.
308
320
  :param pulumi.Input[builtins.str] start_period: Start period for the container to initialize before counting retries towards unstable (ms|s|m|h). Defaults to `0s`.
309
321
  :param pulumi.Input[builtins.str] timeout: Maximum time to allow one check to run (ms|s|m|h). Defaults to `0s`.
310
322
  """
@@ -313,6 +325,8 @@ class ContainerHealthcheckArgs:
313
325
  pulumi.set(__self__, "interval", interval)
314
326
  if retries is not None:
315
327
  pulumi.set(__self__, "retries", retries)
328
+ if start_interval is not None:
329
+ pulumi.set(__self__, "start_interval", start_interval)
316
330
  if start_period is not None:
317
331
  pulumi.set(__self__, "start_period", start_period)
318
332
  if timeout is not None:
@@ -354,6 +368,18 @@ class ContainerHealthcheckArgs:
354
368
  def retries(self, value: Optional[pulumi.Input[builtins.int]]):
355
369
  pulumi.set(self, "retries", value)
356
370
 
371
+ @property
372
+ @pulumi.getter(name="startInterval")
373
+ def start_interval(self) -> Optional[pulumi.Input[builtins.str]]:
374
+ """
375
+ Interval before the healthcheck starts (ms|s|m|h). Defaults to `0s`.
376
+ """
377
+ return pulumi.get(self, "start_interval")
378
+
379
+ @start_interval.setter
380
+ def start_interval(self, value: Optional[pulumi.Input[builtins.str]]):
381
+ pulumi.set(self, "start_interval", value)
382
+
357
383
  @property
358
384
  @pulumi.getter(name="startPeriod")
359
385
  def start_period(self) -> Optional[pulumi.Input[builtins.str]]:
@@ -731,6 +757,10 @@ if not MYPY:
731
757
  """
732
758
  Populate volume with data from the target.
733
759
  """
760
+ subpath: NotRequired[pulumi.Input[builtins.str]]
761
+ """
762
+ Path within the volume to mount. Requires docker server version 1.45 or higher.
763
+ """
734
764
  elif False:
735
765
  ContainerMountVolumeOptionsArgsDict: TypeAlias = Mapping[str, Any]
736
766
 
@@ -740,12 +770,14 @@ class ContainerMountVolumeOptionsArgs:
740
770
  driver_name: Optional[pulumi.Input[builtins.str]] = None,
741
771
  driver_options: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
742
772
  labels: Optional[pulumi.Input[Sequence[pulumi.Input['ContainerMountVolumeOptionsLabelArgs']]]] = None,
743
- no_copy: Optional[pulumi.Input[builtins.bool]] = None):
773
+ no_copy: Optional[pulumi.Input[builtins.bool]] = None,
774
+ subpath: Optional[pulumi.Input[builtins.str]] = None):
744
775
  """
745
776
  :param pulumi.Input[builtins.str] driver_name: Name of the driver to use to create the volume.
746
777
  :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] driver_options: key/value map of driver specific options.
747
778
  :param pulumi.Input[Sequence[pulumi.Input['ContainerMountVolumeOptionsLabelArgs']]] labels: User-defined key/value metadata.
748
779
  :param pulumi.Input[builtins.bool] no_copy: Populate volume with data from the target.
780
+ :param pulumi.Input[builtins.str] subpath: Path within the volume to mount. Requires docker server version 1.45 or higher.
749
781
  """
750
782
  if driver_name is not None:
751
783
  pulumi.set(__self__, "driver_name", driver_name)
@@ -755,6 +787,8 @@ class ContainerMountVolumeOptionsArgs:
755
787
  pulumi.set(__self__, "labels", labels)
756
788
  if no_copy is not None:
757
789
  pulumi.set(__self__, "no_copy", no_copy)
790
+ if subpath is not None:
791
+ pulumi.set(__self__, "subpath", subpath)
758
792
 
759
793
  @property
760
794
  @pulumi.getter(name="driverName")
@@ -804,6 +838,18 @@ class ContainerMountVolumeOptionsArgs:
804
838
  def no_copy(self, value: Optional[pulumi.Input[builtins.bool]]):
805
839
  pulumi.set(self, "no_copy", value)
806
840
 
841
+ @property
842
+ @pulumi.getter
843
+ def subpath(self) -> Optional[pulumi.Input[builtins.str]]:
844
+ """
845
+ Path within the volume to mount. Requires docker server version 1.45 or higher.
846
+ """
847
+ return pulumi.get(self, "subpath")
848
+
849
+ @subpath.setter
850
+ def subpath(self, value: Optional[pulumi.Input[builtins.str]]):
851
+ pulumi.set(self, "subpath", value)
852
+
807
853
 
808
854
  if not MYPY:
809
855
  class ContainerMountVolumeOptionsLabelArgsDict(TypedDict):
@@ -1296,6 +1342,10 @@ if not MYPY:
1296
1342
  """
1297
1343
  If `true`, the file will be uploaded with user executable permission. Defaults to `false`.
1298
1344
  """
1345
+ permissions: NotRequired[pulumi.Input[builtins.str]]
1346
+ """
1347
+ The permission mode for the file in the container. Has precedence over `executable`.
1348
+ """
1299
1349
  source: NotRequired[pulumi.Input[builtins.str]]
1300
1350
  """
1301
1351
  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. Conflicts with `content` & `content_base64`
@@ -1314,6 +1364,7 @@ class ContainerUploadArgs:
1314
1364
  content: Optional[pulumi.Input[builtins.str]] = None,
1315
1365
  content_base64: Optional[pulumi.Input[builtins.str]] = None,
1316
1366
  executable: Optional[pulumi.Input[builtins.bool]] = None,
1367
+ permissions: Optional[pulumi.Input[builtins.str]] = None,
1317
1368
  source: Optional[pulumi.Input[builtins.str]] = None,
1318
1369
  source_hash: Optional[pulumi.Input[builtins.str]] = None):
1319
1370
  """
@@ -1321,6 +1372,7 @@ class ContainerUploadArgs:
1321
1372
  :param pulumi.Input[builtins.str] content: Literal string value to use as the object content, which will be uploaded as UTF-8-encoded text. Conflicts with `content_base64` & `source`
1322
1373
  :param pulumi.Input[builtins.str] content_base64: Base64-encoded data that will be decoded and uploaded as raw bytes for the object content. This allows safely uploading non-UTF8 binary data, but is recommended only for larger binary content such as the result of the `base64encode` interpolation function. See here for the reason. Conflicts with `content` & `source`
1323
1374
  :param pulumi.Input[builtins.bool] executable: If `true`, the file will be uploaded with user executable permission. Defaults to `false`.
1375
+ :param pulumi.Input[builtins.str] permissions: The permission mode for the file in the container. Has precedence over `executable`.
1324
1376
  :param pulumi.Input[builtins.str] source: 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. Conflicts with `content` & `content_base64`
1325
1377
  :param pulumi.Input[builtins.str] source_hash: If using `source`, this will force an update if the file content has updated but the filename has not.
1326
1378
  """
@@ -1331,6 +1383,8 @@ class ContainerUploadArgs:
1331
1383
  pulumi.set(__self__, "content_base64", content_base64)
1332
1384
  if executable is not None:
1333
1385
  pulumi.set(__self__, "executable", executable)
1386
+ if permissions is not None:
1387
+ pulumi.set(__self__, "permissions", permissions)
1334
1388
  if source is not None:
1335
1389
  pulumi.set(__self__, "source", source)
1336
1390
  if source_hash is not None:
@@ -1384,6 +1438,18 @@ class ContainerUploadArgs:
1384
1438
  def executable(self, value: Optional[pulumi.Input[builtins.bool]]):
1385
1439
  pulumi.set(self, "executable", value)
1386
1440
 
1441
+ @property
1442
+ @pulumi.getter
1443
+ def permissions(self) -> Optional[pulumi.Input[builtins.str]]:
1444
+ """
1445
+ The permission mode for the file in the container. Has precedence over `executable`.
1446
+ """
1447
+ return pulumi.get(self, "permissions")
1448
+
1449
+ @permissions.setter
1450
+ def permissions(self, value: Optional[pulumi.Input[builtins.str]]):
1451
+ pulumi.set(self, "permissions", value)
1452
+
1387
1453
  @property
1388
1454
  @pulumi.getter
1389
1455
  def source(self) -> Optional[pulumi.Input[builtins.str]]:
@@ -1837,28 +1903,101 @@ class ProviderRegistryAuthArgs:
1837
1903
  pulumi.set(self, "username", value)
1838
1904
 
1839
1905
 
1906
+ if not MYPY:
1907
+ class RegistryImageAuthConfigArgsDict(TypedDict):
1908
+ address: pulumi.Input[builtins.str]
1909
+ """
1910
+ The address of the Docker registry.
1911
+ """
1912
+ password: pulumi.Input[builtins.str]
1913
+ """
1914
+ The password for the Docker registry.
1915
+ """
1916
+ username: pulumi.Input[builtins.str]
1917
+ """
1918
+ The username for the Docker registry.
1919
+ """
1920
+ elif False:
1921
+ RegistryImageAuthConfigArgsDict: TypeAlias = Mapping[str, Any]
1922
+
1923
+ @pulumi.input_type
1924
+ class RegistryImageAuthConfigArgs:
1925
+ def __init__(__self__, *,
1926
+ address: pulumi.Input[builtins.str],
1927
+ password: pulumi.Input[builtins.str],
1928
+ username: pulumi.Input[builtins.str]):
1929
+ """
1930
+ :param pulumi.Input[builtins.str] address: The address of the Docker registry.
1931
+ :param pulumi.Input[builtins.str] password: The password for the Docker registry.
1932
+ :param pulumi.Input[builtins.str] username: The username for the Docker registry.
1933
+ """
1934
+ pulumi.set(__self__, "address", address)
1935
+ pulumi.set(__self__, "password", password)
1936
+ pulumi.set(__self__, "username", username)
1937
+
1938
+ @property
1939
+ @pulumi.getter
1940
+ def address(self) -> pulumi.Input[builtins.str]:
1941
+ """
1942
+ The address of the Docker registry.
1943
+ """
1944
+ return pulumi.get(self, "address")
1945
+
1946
+ @address.setter
1947
+ def address(self, value: pulumi.Input[builtins.str]):
1948
+ pulumi.set(self, "address", value)
1949
+
1950
+ @property
1951
+ @pulumi.getter
1952
+ def password(self) -> pulumi.Input[builtins.str]:
1953
+ """
1954
+ The password for the Docker registry.
1955
+ """
1956
+ return pulumi.get(self, "password")
1957
+
1958
+ @password.setter
1959
+ def password(self, value: pulumi.Input[builtins.str]):
1960
+ pulumi.set(self, "password", value)
1961
+
1962
+ @property
1963
+ @pulumi.getter
1964
+ def username(self) -> pulumi.Input[builtins.str]:
1965
+ """
1966
+ The username for the Docker registry.
1967
+ """
1968
+ return pulumi.get(self, "username")
1969
+
1970
+ @username.setter
1971
+ def username(self, value: pulumi.Input[builtins.str]):
1972
+ pulumi.set(self, "username", value)
1973
+
1974
+
1840
1975
  if not MYPY:
1841
1976
  class RemoteImageBuildArgsDict(TypedDict):
1842
1977
  context: pulumi.Input[builtins.str]
1843
1978
  """
1844
- Value to specify the build context. Currently, only a `PATH` context is supported. You can use the helper function '${path.cwd}/context-dir'. Please see https://docs.docker.com/build/building/context/ for more information about build contexts.
1979
+ 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.
1845
1980
  """
1846
1981
  auth_configs: NotRequired[pulumi.Input[Sequence[pulumi.Input['RemoteImageBuildAuthConfigArgsDict']]]]
1847
1982
  """
1848
1983
  The configuration for the authentication
1849
1984
  """
1850
- build_arg: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]
1851
- """
1852
- Set build-time variables
1853
- """
1854
1985
  build_args: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]
1855
1986
  """
1856
- Pairs for build-time variables in the form TODO
1987
+ Pairs for build-time variables in the form of `ENDPOINT : "https://example.com"`
1857
1988
  """
1858
1989
  build_id: NotRequired[pulumi.Input[builtins.str]]
1859
1990
  """
1860
1991
  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.
1861
1992
  """
1993
+ build_log_file: NotRequired[pulumi.Input[builtins.str]]
1994
+ """
1995
+ 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.
1996
+ """
1997
+ builder: NotRequired[pulumi.Input[builtins.str]]
1998
+ """
1999
+ Set the name of the buildx builder to use. If not set or empty, the legacy builder will be used.
2000
+ """
1862
2001
  cache_froms: NotRequired[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]
1863
2002
  """
1864
2003
  Images to consider as cache sources
@@ -1937,12 +2076,16 @@ if not MYPY:
1937
2076
  """
1938
2077
  remote_context: NotRequired[pulumi.Input[builtins.str]]
1939
2078
  """
1940
- A Git repository URI or HTTP/HTTPS context URI
2079
+ A Git repository URI or HTTP/HTTPS context URI. Will be ignored if `builder` is set.
1941
2080
  """
1942
2081
  remove: NotRequired[pulumi.Input[builtins.bool]]
1943
2082
  """
1944
2083
  Remove intermediate containers after a successful build. Defaults to `true`.
1945
2084
  """
2085
+ secrets: NotRequired[pulumi.Input[Sequence[pulumi.Input['RemoteImageBuildSecretArgsDict']]]]
2086
+ """
2087
+ Set build-time secrets. Only available when you use a buildx builder.
2088
+ """
1946
2089
  security_opts: NotRequired[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]
1947
2090
  """
1948
2091
  The security options
@@ -1987,9 +2130,10 @@ class RemoteImageBuildArgs:
1987
2130
  def __init__(__self__, *,
1988
2131
  context: pulumi.Input[builtins.str],
1989
2132
  auth_configs: Optional[pulumi.Input[Sequence[pulumi.Input['RemoteImageBuildAuthConfigArgs']]]] = None,
1990
- build_arg: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
1991
2133
  build_args: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
1992
2134
  build_id: Optional[pulumi.Input[builtins.str]] = None,
2135
+ build_log_file: Optional[pulumi.Input[builtins.str]] = None,
2136
+ builder: Optional[pulumi.Input[builtins.str]] = None,
1993
2137
  cache_froms: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
1994
2138
  cgroup_parent: Optional[pulumi.Input[builtins.str]] = None,
1995
2139
  cpu_period: Optional[pulumi.Input[builtins.int]] = None,
@@ -2011,6 +2155,7 @@ class RemoteImageBuildArgs:
2011
2155
  pull_parent: Optional[pulumi.Input[builtins.bool]] = None,
2012
2156
  remote_context: Optional[pulumi.Input[builtins.str]] = None,
2013
2157
  remove: Optional[pulumi.Input[builtins.bool]] = None,
2158
+ secrets: Optional[pulumi.Input[Sequence[pulumi.Input['RemoteImageBuildSecretArgs']]]] = None,
2014
2159
  security_opts: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
2015
2160
  session_id: Optional[pulumi.Input[builtins.str]] = None,
2016
2161
  shm_size: Optional[pulumi.Input[builtins.int]] = None,
@@ -2021,11 +2166,12 @@ class RemoteImageBuildArgs:
2021
2166
  ulimits: Optional[pulumi.Input[Sequence[pulumi.Input['RemoteImageBuildUlimitArgs']]]] = None,
2022
2167
  version: Optional[pulumi.Input[builtins.str]] = None):
2023
2168
  """
2024
- :param pulumi.Input[builtins.str] context: Value to specify the build context. Currently, only a `PATH` context is supported. You can use the helper function '${path.cwd}/context-dir'. Please see https://docs.docker.com/build/building/context/ for more information about build contexts.
2169
+ :param pulumi.Input[builtins.str] context: 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.
2025
2170
  :param pulumi.Input[Sequence[pulumi.Input['RemoteImageBuildAuthConfigArgs']]] auth_configs: The configuration for the authentication
2026
- :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] build_arg: Set build-time variables
2027
- :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] build_args: Pairs for build-time variables in the form TODO
2171
+ :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] build_args: Pairs for build-time variables in the form of `ENDPOINT : "https://example.com"`
2028
2172
  :param pulumi.Input[builtins.str] build_id: 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.
2173
+ :param pulumi.Input[builtins.str] build_log_file: 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.
2174
+ :param pulumi.Input[builtins.str] builder: Set the name of the buildx builder to use. If not set or empty, the legacy builder will be used.
2029
2175
  :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] cache_froms: Images to consider as cache sources
2030
2176
  :param pulumi.Input[builtins.str] cgroup_parent: Optional parent cgroup for the container
2031
2177
  :param pulumi.Input[builtins.int] cpu_period: The length of a CPU period in microseconds
@@ -2045,8 +2191,9 @@ class RemoteImageBuildArgs:
2045
2191
  :param pulumi.Input[builtins.bool] no_cache: Do not use the cache when building the image
2046
2192
  :param pulumi.Input[builtins.str] platform: Set platform if server is multi-platform capable
2047
2193
  :param pulumi.Input[builtins.bool] pull_parent: Attempt to pull the image even if an older image exists locally
2048
- :param pulumi.Input[builtins.str] remote_context: A Git repository URI or HTTP/HTTPS context URI
2194
+ :param pulumi.Input[builtins.str] remote_context: A Git repository URI or HTTP/HTTPS context URI. Will be ignored if `builder` is set.
2049
2195
  :param pulumi.Input[builtins.bool] remove: Remove intermediate containers after a successful build. Defaults to `true`.
2196
+ :param pulumi.Input[Sequence[pulumi.Input['RemoteImageBuildSecretArgs']]] secrets: Set build-time secrets. Only available when you use a buildx builder.
2050
2197
  :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] security_opts: The security options
2051
2198
  :param pulumi.Input[builtins.str] session_id: Set an ID for the build session
2052
2199
  :param pulumi.Input[builtins.int] shm_size: Size of /dev/shm in bytes. The size must be greater than 0
@@ -2060,12 +2207,14 @@ class RemoteImageBuildArgs:
2060
2207
  pulumi.set(__self__, "context", context)
2061
2208
  if auth_configs is not None:
2062
2209
  pulumi.set(__self__, "auth_configs", auth_configs)
2063
- if build_arg is not None:
2064
- pulumi.set(__self__, "build_arg", build_arg)
2065
2210
  if build_args is not None:
2066
2211
  pulumi.set(__self__, "build_args", build_args)
2067
2212
  if build_id is not None:
2068
2213
  pulumi.set(__self__, "build_id", build_id)
2214
+ if build_log_file is not None:
2215
+ pulumi.set(__self__, "build_log_file", build_log_file)
2216
+ if builder is not None:
2217
+ pulumi.set(__self__, "builder", builder)
2069
2218
  if cache_froms is not None:
2070
2219
  pulumi.set(__self__, "cache_froms", cache_froms)
2071
2220
  if cgroup_parent is not None:
@@ -2108,6 +2257,8 @@ class RemoteImageBuildArgs:
2108
2257
  pulumi.set(__self__, "remote_context", remote_context)
2109
2258
  if remove is not None:
2110
2259
  pulumi.set(__self__, "remove", remove)
2260
+ if secrets is not None:
2261
+ pulumi.set(__self__, "secrets", secrets)
2111
2262
  if security_opts is not None:
2112
2263
  pulumi.set(__self__, "security_opts", security_opts)
2113
2264
  if session_id is not None:
@@ -2131,7 +2282,7 @@ class RemoteImageBuildArgs:
2131
2282
  @pulumi.getter
2132
2283
  def context(self) -> pulumi.Input[builtins.str]:
2133
2284
  """
2134
- Value to specify the build context. Currently, only a `PATH` context is supported. You can use the helper function '${path.cwd}/context-dir'. Please see https://docs.docker.com/build/building/context/ for more information about build contexts.
2285
+ 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.
2135
2286
  """
2136
2287
  return pulumi.get(self, "context")
2137
2288
 
@@ -2151,23 +2302,11 @@ class RemoteImageBuildArgs:
2151
2302
  def auth_configs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RemoteImageBuildAuthConfigArgs']]]]):
2152
2303
  pulumi.set(self, "auth_configs", value)
2153
2304
 
2154
- @property
2155
- @pulumi.getter(name="buildArg")
2156
- def build_arg(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]:
2157
- """
2158
- Set build-time variables
2159
- """
2160
- return pulumi.get(self, "build_arg")
2161
-
2162
- @build_arg.setter
2163
- def build_arg(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]):
2164
- pulumi.set(self, "build_arg", value)
2165
-
2166
2305
  @property
2167
2306
  @pulumi.getter(name="buildArgs")
2168
2307
  def build_args(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]:
2169
2308
  """
2170
- Pairs for build-time variables in the form TODO
2309
+ Pairs for build-time variables in the form of `ENDPOINT : "https://example.com"`
2171
2310
  """
2172
2311
  return pulumi.get(self, "build_args")
2173
2312
 
@@ -2187,6 +2326,30 @@ class RemoteImageBuildArgs:
2187
2326
  def build_id(self, value: Optional[pulumi.Input[builtins.str]]):
2188
2327
  pulumi.set(self, "build_id", value)
2189
2328
 
2329
+ @property
2330
+ @pulumi.getter(name="buildLogFile")
2331
+ def build_log_file(self) -> Optional[pulumi.Input[builtins.str]]:
2332
+ """
2333
+ 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.
2334
+ """
2335
+ return pulumi.get(self, "build_log_file")
2336
+
2337
+ @build_log_file.setter
2338
+ def build_log_file(self, value: Optional[pulumi.Input[builtins.str]]):
2339
+ pulumi.set(self, "build_log_file", value)
2340
+
2341
+ @property
2342
+ @pulumi.getter
2343
+ def builder(self) -> Optional[pulumi.Input[builtins.str]]:
2344
+ """
2345
+ Set the name of the buildx builder to use. If not set or empty, the legacy builder will be used.
2346
+ """
2347
+ return pulumi.get(self, "builder")
2348
+
2349
+ @builder.setter
2350
+ def builder(self, value: Optional[pulumi.Input[builtins.str]]):
2351
+ pulumi.set(self, "builder", value)
2352
+
2190
2353
  @property
2191
2354
  @pulumi.getter(name="cacheFroms")
2192
2355
  def cache_froms(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]:
@@ -2419,7 +2582,7 @@ class RemoteImageBuildArgs:
2419
2582
  @pulumi.getter(name="remoteContext")
2420
2583
  def remote_context(self) -> Optional[pulumi.Input[builtins.str]]:
2421
2584
  """
2422
- A Git repository URI or HTTP/HTTPS context URI
2585
+ A Git repository URI or HTTP/HTTPS context URI. Will be ignored if `builder` is set.
2423
2586
  """
2424
2587
  return pulumi.get(self, "remote_context")
2425
2588
 
@@ -2439,6 +2602,18 @@ class RemoteImageBuildArgs:
2439
2602
  def remove(self, value: Optional[pulumi.Input[builtins.bool]]):
2440
2603
  pulumi.set(self, "remove", value)
2441
2604
 
2605
+ @property
2606
+ @pulumi.getter
2607
+ def secrets(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RemoteImageBuildSecretArgs']]]]:
2608
+ """
2609
+ Set build-time secrets. Only available when you use a buildx builder.
2610
+ """
2611
+ return pulumi.get(self, "secrets")
2612
+
2613
+ @secrets.setter
2614
+ def secrets(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RemoteImageBuildSecretArgs']]]]):
2615
+ pulumi.set(self, "secrets", value)
2616
+
2442
2617
  @property
2443
2618
  @pulumi.getter(name="securityOpts")
2444
2619
  def security_opts(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]:
@@ -2719,6 +2894,77 @@ class RemoteImageBuildAuthConfigArgs:
2719
2894
  pulumi.set(self, "user_name", value)
2720
2895
 
2721
2896
 
2897
+ if not MYPY:
2898
+ class RemoteImageBuildSecretArgsDict(TypedDict):
2899
+ id: pulumi.Input[builtins.str]
2900
+ """
2901
+ ID of the secret. By default, secrets are mounted to /run/secrets/\\n\\n
2902
+ """
2903
+ env: NotRequired[pulumi.Input[builtins.str]]
2904
+ """
2905
+ Environment variable source of the secret
2906
+ """
2907
+ src: NotRequired[pulumi.Input[builtins.str]]
2908
+ """
2909
+ File source of the secret. Takes precedence over `env`
2910
+ """
2911
+ elif False:
2912
+ RemoteImageBuildSecretArgsDict: TypeAlias = Mapping[str, Any]
2913
+
2914
+ @pulumi.input_type
2915
+ class RemoteImageBuildSecretArgs:
2916
+ def __init__(__self__, *,
2917
+ id: pulumi.Input[builtins.str],
2918
+ env: Optional[pulumi.Input[builtins.str]] = None,
2919
+ src: Optional[pulumi.Input[builtins.str]] = None):
2920
+ """
2921
+ :param pulumi.Input[builtins.str] id: ID of the secret. By default, secrets are mounted to /run/secrets/\\n\\n
2922
+ :param pulumi.Input[builtins.str] env: Environment variable source of the secret
2923
+ :param pulumi.Input[builtins.str] src: File source of the secret. Takes precedence over `env`
2924
+ """
2925
+ pulumi.set(__self__, "id", id)
2926
+ if env is not None:
2927
+ pulumi.set(__self__, "env", env)
2928
+ if src is not None:
2929
+ pulumi.set(__self__, "src", src)
2930
+
2931
+ @property
2932
+ @pulumi.getter
2933
+ def id(self) -> pulumi.Input[builtins.str]:
2934
+ """
2935
+ ID of the secret. By default, secrets are mounted to /run/secrets/\\n\\n
2936
+ """
2937
+ return pulumi.get(self, "id")
2938
+
2939
+ @id.setter
2940
+ def id(self, value: pulumi.Input[builtins.str]):
2941
+ pulumi.set(self, "id", value)
2942
+
2943
+ @property
2944
+ @pulumi.getter
2945
+ def env(self) -> Optional[pulumi.Input[builtins.str]]:
2946
+ """
2947
+ Environment variable source of the secret
2948
+ """
2949
+ return pulumi.get(self, "env")
2950
+
2951
+ @env.setter
2952
+ def env(self, value: Optional[pulumi.Input[builtins.str]]):
2953
+ pulumi.set(self, "env", value)
2954
+
2955
+ @property
2956
+ @pulumi.getter
2957
+ def src(self) -> Optional[pulumi.Input[builtins.str]]:
2958
+ """
2959
+ File source of the secret. Takes precedence over `env`
2960
+ """
2961
+ return pulumi.get(self, "src")
2962
+
2963
+ @src.setter
2964
+ def src(self, value: Optional[pulumi.Input[builtins.str]]):
2965
+ pulumi.set(self, "src", value)
2966
+
2967
+
2722
2968
  if not MYPY:
2723
2969
  class RemoteImageBuildUlimitArgsDict(TypedDict):
2724
2970
  hard: pulumi.Input[builtins.int]
@@ -6124,6 +6370,75 @@ class DockerBuildArgs:
6124
6370
  pulumi.set(self, "target", value)
6125
6371
 
6126
6372
 
6373
+ if not MYPY:
6374
+ class GetRegistryImageManifestsAuthConfigArgsDict(TypedDict):
6375
+ address: builtins.str
6376
+ """
6377
+ The address of the Docker registry.
6378
+ """
6379
+ password: builtins.str
6380
+ """
6381
+ The password for the Docker registry.
6382
+ """
6383
+ username: builtins.str
6384
+ """
6385
+ The username for the Docker registry.
6386
+ """
6387
+ elif False:
6388
+ GetRegistryImageManifestsAuthConfigArgsDict: TypeAlias = Mapping[str, Any]
6389
+
6390
+ @pulumi.input_type
6391
+ class GetRegistryImageManifestsAuthConfigArgs:
6392
+ def __init__(__self__, *,
6393
+ address: builtins.str,
6394
+ password: builtins.str,
6395
+ username: builtins.str):
6396
+ """
6397
+ :param builtins.str address: The address of the Docker registry.
6398
+ :param builtins.str password: The password for the Docker registry.
6399
+ :param builtins.str username: The username for the Docker registry.
6400
+ """
6401
+ pulumi.set(__self__, "address", address)
6402
+ pulumi.set(__self__, "password", password)
6403
+ pulumi.set(__self__, "username", username)
6404
+
6405
+ @property
6406
+ @pulumi.getter
6407
+ def address(self) -> builtins.str:
6408
+ """
6409
+ The address of the Docker registry.
6410
+ """
6411
+ return pulumi.get(self, "address")
6412
+
6413
+ @address.setter
6414
+ def address(self, value: builtins.str):
6415
+ pulumi.set(self, "address", value)
6416
+
6417
+ @property
6418
+ @pulumi.getter
6419
+ def password(self) -> builtins.str:
6420
+ """
6421
+ The password for the Docker registry.
6422
+ """
6423
+ return pulumi.get(self, "password")
6424
+
6425
+ @password.setter
6426
+ def password(self, value: builtins.str):
6427
+ pulumi.set(self, "password", value)
6428
+
6429
+ @property
6430
+ @pulumi.getter
6431
+ def username(self) -> builtins.str:
6432
+ """
6433
+ The username for the Docker registry.
6434
+ """
6435
+ return pulumi.get(self, "username")
6436
+
6437
+ @username.setter
6438
+ def username(self, value: builtins.str):
6439
+ pulumi.set(self, "username", value)
6440
+
6441
+
6127
6442
  if not MYPY:
6128
6443
  class RegistryArgsDict(TypedDict):
6129
6444
  """
@@ -31,6 +31,18 @@ certPath: Optional[str]
31
31
  Path to directory with Docker TLS config
32
32
  """
33
33
 
34
+ context: Optional[str]
35
+ """
36
+ The name of the Docker context to use. Can also be set via `DOCKER_CONTEXT` environment variable. Overrides the `host`
37
+ if set.
38
+ """
39
+
40
+ disableDockerDaemonCheck: Optional[bool]
41
+ """
42
+ If set to `true`, the provider will not check if the Docker daemon is running. This is useful for
43
+ resources/data_sourcess that do not require a running Docker daemon, such as the data source `RegistryImage`.
44
+ """
45
+
34
46
  host: Optional[str]
35
47
  """
36
48
  The Docker daemon address