diff --git a/.pulumi.version b/.pulumi.version index 1c3c1af..391e8c6 100644 --- a/.pulumi.version +++ b/.pulumi.version @@ -1 +1 @@ -3.131.0 +3.134.1 diff --git a/examples/go/go.mod b/examples/go/go.mod index 776096a..22e9b9b 100644 --- a/examples/go/go.mod +++ b/examples/go/go.mod @@ -6,7 +6,7 @@ toolchain go1.21.9 require ( github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild v0.0.0-20240425180359-26c144c916b7 - github.com/pulumi/pulumi/sdk/v3 v3.131.0 + github.com/pulumi/pulumi/sdk/v3 v3.134.1 ) require ( @@ -60,7 +60,7 @@ require ( github.com/pkg/errors v0.9.1 // indirect github.com/pkg/term v1.1.0 // indirect github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 // indirect - github.com/pulumi/esc v0.9.1 // indirect + github.com/pulumi/esc v0.10.0 // indirect github.com/rivo/uniseg v0.4.4 // indirect github.com/rogpeppe/go-internal v1.12.0 // indirect github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06 // indirect diff --git a/examples/go/go.sum b/examples/go/go.sum index ca0d9b5..5fb6f77 100644 --- a/examples/go/go.sum +++ b/examples/go/go.sum @@ -150,12 +150,12 @@ github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZb github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 h1:vkHw5I/plNdTr435cARxCW6q9gc0S/Yxz7Mkd38pOb0= github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231/go.mod h1:murToZ2N9hNJzewjHBgfFdXhZKjY3z5cYC1VXk+lbFE= -github.com/pulumi/esc v0.9.1 h1:HH5eEv8sgyxSpY5a8yePyqFXzA8cvBvapfH8457+mIs= -github.com/pulumi/esc v0.9.1/go.mod h1:oEJ6bOsjYlQUpjf70GiX+CXn3VBmpwFDxUTlmtUN84c= +github.com/pulumi/esc v0.10.0 h1:jzBKzkLVW0mePeanDRfqSQoCJ5yrkux0jIwAkUxpRKE= +github.com/pulumi/esc v0.10.0/go.mod h1:2Bfa+FWj/xl8CKqRTWbWgDX0SOD4opdQgvYSURTGK2c= github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild v0.0.0-20240425180359-26c144c916b7 h1:elp7Ar01zvIJtRQv+megjeGSfpxxzPYyKBGfDDtWFBA= github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild v0.0.0-20240425180359-26c144c916b7/go.mod h1:48lEA1mq2tRC4SfASAJmLYG1hRWM5sP5VPFeoZEM54U= -github.com/pulumi/pulumi/sdk/v3 v3.131.0 h1:w6+XFt4ajz7ZEoCBFo+oMmrQ4DYYBKtzuj/zBe/uyoo= -github.com/pulumi/pulumi/sdk/v3 v3.131.0/go.mod h1:J5kQEX8v87aeUhk6NdQXnjCo1DbiOnOiL3Sf2DuDda8= +github.com/pulumi/pulumi/sdk/v3 v3.134.1 h1:v1zd0d+B9gpUhsdJ483YUMHwHXqDvXvZ+mh/A4HhPWg= +github.com/pulumi/pulumi/sdk/v3 v3.134.1/go.mod h1:J5kQEX8v87aeUhk6NdQXnjCo1DbiOnOiL3Sf2DuDda8= github.com/rivo/uniseg v0.1.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.4.4 h1:8TfxU8dW6PdqD27gjM8MVNuicgxIjxpm4K7x4jp8sis= diff --git a/go.mod b/go.mod index f7c9e48..3367717 100644 --- a/go.mod +++ b/go.mod @@ -19,13 +19,13 @@ require ( github.com/pulumi/providertest v0.0.13 github.com/pulumi/pulumi-dotnet/pulumi-language-dotnet v0.0.0-20240624150732-fa777213effd github.com/pulumi/pulumi-go-provider v0.21.0 - github.com/pulumi/pulumi-java/pkg v0.15.0 - github.com/pulumi/pulumi-yaml v1.10.0 - github.com/pulumi/pulumi/pkg/v3 v3.131.0 + github.com/pulumi/pulumi-java/pkg v0.16.1 + github.com/pulumi/pulumi-yaml v1.10.3 + github.com/pulumi/pulumi/pkg/v3 v3.134.1 github.com/pulumi/pulumi/sdk/go/pulumi-language-go/v3 v3.0.0-20240910123829-a0ad0ad24344 github.com/pulumi/pulumi/sdk/nodejs/cmd/pulumi-language-nodejs/v3 v3.0.0-20240910123829-a0ad0ad24344 github.com/pulumi/pulumi/sdk/python/cmd/pulumi-language-python/v3 v3.0.0-20240910123829-a0ad0ad24344 - github.com/pulumi/pulumi/sdk/v3 v3.131.0 + github.com/pulumi/pulumi/sdk/v3 v3.134.1 github.com/regclient/regclient v0.7.1 github.com/sirupsen/logrus v1.9.3 github.com/spf13/afero v1.11.0 @@ -352,7 +352,7 @@ require ( github.com/prometheus/common v0.44.0 // indirect github.com/prometheus/procfs v0.15.1 // indirect github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 // indirect - github.com/pulumi/esc v0.9.1 // indirect + github.com/pulumi/esc v0.10.0 // indirect github.com/pulumi/inflector v0.2.1 // indirect github.com/quasilyte/go-ruleguard v0.4.2 // indirect github.com/quasilyte/go-ruleguard/dsl v0.3.22 // indirect diff --git a/go.sum b/go.sum index 946f5d7..f0153d5 100644 --- a/go.sum +++ b/go.sum @@ -932,8 +932,8 @@ github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0leargg github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 h1:vkHw5I/plNdTr435cARxCW6q9gc0S/Yxz7Mkd38pOb0= github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231/go.mod h1:murToZ2N9hNJzewjHBgfFdXhZKjY3z5cYC1VXk+lbFE= -github.com/pulumi/esc v0.9.1 h1:HH5eEv8sgyxSpY5a8yePyqFXzA8cvBvapfH8457+mIs= -github.com/pulumi/esc v0.9.1/go.mod h1:oEJ6bOsjYlQUpjf70GiX+CXn3VBmpwFDxUTlmtUN84c= +github.com/pulumi/esc v0.10.0 h1:jzBKzkLVW0mePeanDRfqSQoCJ5yrkux0jIwAkUxpRKE= +github.com/pulumi/esc v0.10.0/go.mod h1:2Bfa+FWj/xl8CKqRTWbWgDX0SOD4opdQgvYSURTGK2c= github.com/pulumi/inflector v0.2.1 h1:bqyiish3tq//vLeLiEstSFE5K7RNjy/ce47ed4QATu8= github.com/pulumi/inflector v0.2.1/go.mod h1:HUFCjcPTz96YtTuUlwG3i3EZG4WlniBvR9bd+iJxCUY= github.com/pulumi/providertest v0.0.13 h1:9CAaoviOTuCVHDI15h3znXa5JsKYtXLYHIIdxOCzo3Y= @@ -942,20 +942,20 @@ github.com/pulumi/pulumi-dotnet/pulumi-language-dotnet v0.0.0-20240624150732-fa7 github.com/pulumi/pulumi-dotnet/pulumi-language-dotnet v0.0.0-20240624150732-fa777213effd/go.mod h1:poRLYpZlEjDr09kC2f50srI97hjjmNay55FBMl6ZHug= github.com/pulumi/pulumi-go-provider v0.21.0 h1:sDHBtWkWRrWn6klfdvDIorlUGMBt6BwhgKXqcPoJh2c= github.com/pulumi/pulumi-go-provider v0.21.0/go.mod h1:2qQ4M1LXzv+SpY6v8JiTbPVGdeCeqfBMgsqb7WyH77o= -github.com/pulumi/pulumi-java/pkg v0.15.0 h1:W6hyWfP0nk2Oy+vc757OyP+Vu9R9iNSE/tutEGsM798= -github.com/pulumi/pulumi-java/pkg v0.15.0/go.mod h1:VybuJMWJtJc9ZNbt1kcYH4TbpocMx9mEi7YWL2Co99c= -github.com/pulumi/pulumi-yaml v1.10.0 h1:djbgMJCxJBmYMr4kOpAXH5iauxGohYjEuTLfxD3NUUI= -github.com/pulumi/pulumi-yaml v1.10.0/go.mod h1://lTvwHpgJ+WBKeMGiLrd/jinc4dl3eWV5LZ3G8iCfE= -github.com/pulumi/pulumi/pkg/v3 v3.131.0 h1:En0nFR9JQ26kxi71qbgATpsJ34leC0VgSFW1TwS4OjE= -github.com/pulumi/pulumi/pkg/v3 v3.131.0/go.mod h1:+Cy9VMptNdrhGMcYWg3ZqzWlih+hyWoGOImRSoPNs8o= +github.com/pulumi/pulumi-java/pkg v0.16.1 h1:orHnDWFbpOERwaBLry9f+6nqPX7x0MsrIkaa5QDGAns= +github.com/pulumi/pulumi-java/pkg v0.16.1/go.mod h1:QH0DihZkWYle9XFc+LJ76m4hUo+fA3RdyaM90pqOaSM= +github.com/pulumi/pulumi-yaml v1.10.3 h1:j5cjPiE32ILmjrWnC1cfZ0MWdqCZ8fg9wlaWk7HOtM4= +github.com/pulumi/pulumi-yaml v1.10.3/go.mod h1:MFMQXkaUP5YQUKVJ6Z/aagZDl2f8hdU9oGaJfTcMf1Y= +github.com/pulumi/pulumi/pkg/v3 v3.134.1 h1:iGKvaSHEoPCGBqDoIGQUXUm3qkrawfd513lL0I9vnNQ= +github.com/pulumi/pulumi/pkg/v3 v3.134.1/go.mod h1:1iCee1QIwXYvkIQJ/HnBjsPsmYJ/arBPWX6hAao/Pro= github.com/pulumi/pulumi/sdk/go/pulumi-language-go/v3 v3.0.0-20240910123829-a0ad0ad24344 h1:ECrEunusZWugSrR3ryUHd95FBucGAisyKokFO3dsTEY= github.com/pulumi/pulumi/sdk/go/pulumi-language-go/v3 v3.0.0-20240910123829-a0ad0ad24344/go.mod h1:asvIJPHl46oZeYhRL3JaY21ndoBxiegN/pAPZXM/500= github.com/pulumi/pulumi/sdk/nodejs/cmd/pulumi-language-nodejs/v3 v3.0.0-20240910123829-a0ad0ad24344 h1:VAvbg4d+NrAr3cFeyAw8vcKV4mY+iz74cHWZ1vGVb+w= github.com/pulumi/pulumi/sdk/nodejs/cmd/pulumi-language-nodejs/v3 v3.0.0-20240910123829-a0ad0ad24344/go.mod h1:39QWcuWEZ2NvRCsi5Gt3d5YmGcMMCOpIZhMW4ZbfPVE= github.com/pulumi/pulumi/sdk/python/cmd/pulumi-language-python/v3 v3.0.0-20240910123829-a0ad0ad24344 h1:WErS7oj/lPmoYDZ9aJGH2QriE3DyDrIpdfoYyclV2Bo= github.com/pulumi/pulumi/sdk/python/cmd/pulumi-language-python/v3 v3.0.0-20240910123829-a0ad0ad24344/go.mod h1:JDvmtZ36LbRZ9DSkPcWU0BQjYmdsPBfEPApOgOp7q0Q= -github.com/pulumi/pulumi/sdk/v3 v3.131.0 h1:w6+XFt4ajz7ZEoCBFo+oMmrQ4DYYBKtzuj/zBe/uyoo= -github.com/pulumi/pulumi/sdk/v3 v3.131.0/go.mod h1:J5kQEX8v87aeUhk6NdQXnjCo1DbiOnOiL3Sf2DuDda8= +github.com/pulumi/pulumi/sdk/v3 v3.134.1 h1:v1zd0d+B9gpUhsdJ483YUMHwHXqDvXvZ+mh/A4HhPWg= +github.com/pulumi/pulumi/sdk/v3 v3.134.1/go.mod h1:J5kQEX8v87aeUhk6NdQXnjCo1DbiOnOiL3Sf2DuDda8= github.com/quasilyte/go-ruleguard v0.4.2 h1:htXcXDK6/rO12kiTHKfHuqR4kr3Y4M0J0rOL6CH/BYs= github.com/quasilyte/go-ruleguard v0.4.2/go.mod h1:GJLgqsLeo4qgavUoL8JeGFNS7qcisx3awV/w9eWTmNI= github.com/quasilyte/go-ruleguard/dsl v0.3.22 h1:wd8zkOhSNr+I+8Qeciml08ivDt1pSXe60+5DqOpCjPE= diff --git a/sdk/go/dockerbuild/go.mod b/sdk/go/dockerbuild/go.mod index 8022ebb..749b3a8 100644 --- a/sdk/go/dockerbuild/go.mod +++ b/sdk/go/dockerbuild/go.mod @@ -6,7 +6,7 @@ toolchain go1.22.6 require ( github.com/blang/semver v3.5.1+incompatible - github.com/pulumi/pulumi/sdk/v3 v3.131.0 + github.com/pulumi/pulumi/sdk/v3 v3.134.1 ) require ( @@ -47,7 +47,6 @@ require ( github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 // indirect github.com/kevinburke/ssh_config v1.2.0 // indirect github.com/lucasb-eyer/go-colorful v1.2.0 // indirect - github.com/mattn/go-colorable v0.1.13 // indirect github.com/mattn/go-isatty v0.0.20 // indirect github.com/mattn/go-localereader v0.0.1 // indirect github.com/mattn/go-runewidth v0.0.16 // indirect @@ -64,7 +63,7 @@ require ( github.com/pkg/errors v0.9.1 // indirect github.com/pkg/term v1.1.0 // indirect github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 // indirect - github.com/pulumi/esc v0.9.1 // indirect + github.com/pulumi/esc v0.10.0 // indirect github.com/rivo/uniseg v0.4.7 // indirect github.com/rogpeppe/go-internal v1.12.0 // indirect github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06 // indirect diff --git a/sdk/go/dockerbuild/go.sum b/sdk/go/dockerbuild/go.sum index 10a5c30..fb7d453 100644 --- a/sdk/go/dockerbuild/go.sum +++ b/sdk/go/dockerbuild/go.sum @@ -115,7 +115,6 @@ github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxec github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE= -github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= github.com/mattn/go-localereader v0.0.1 h1:ygSAOl7ZXTx4RdPYinUpg6W99U8jWvWi9Ye2JC/oIi4= @@ -153,10 +152,10 @@ github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZb github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 h1:vkHw5I/plNdTr435cARxCW6q9gc0S/Yxz7Mkd38pOb0= github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231/go.mod h1:murToZ2N9hNJzewjHBgfFdXhZKjY3z5cYC1VXk+lbFE= -github.com/pulumi/esc v0.9.1 h1:HH5eEv8sgyxSpY5a8yePyqFXzA8cvBvapfH8457+mIs= -github.com/pulumi/esc v0.9.1/go.mod h1:oEJ6bOsjYlQUpjf70GiX+CXn3VBmpwFDxUTlmtUN84c= -github.com/pulumi/pulumi/sdk/v3 v3.131.0 h1:w6+XFt4ajz7ZEoCBFo+oMmrQ4DYYBKtzuj/zBe/uyoo= -github.com/pulumi/pulumi/sdk/v3 v3.131.0/go.mod h1:J5kQEX8v87aeUhk6NdQXnjCo1DbiOnOiL3Sf2DuDda8= +github.com/pulumi/esc v0.10.0 h1:jzBKzkLVW0mePeanDRfqSQoCJ5yrkux0jIwAkUxpRKE= +github.com/pulumi/esc v0.10.0/go.mod h1:2Bfa+FWj/xl8CKqRTWbWgDX0SOD4opdQgvYSURTGK2c= +github.com/pulumi/pulumi/sdk/v3 v3.134.1 h1:v1zd0d+B9gpUhsdJ483YUMHwHXqDvXvZ+mh/A4HhPWg= +github.com/pulumi/pulumi/sdk/v3 v3.134.1/go.mod h1:J5kQEX8v87aeUhk6NdQXnjCo1DbiOnOiL3Sf2DuDda8= github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.4.7 h1:WUdvkW8uEhrYfLC4ZzdpI2ztxP1I582+49Oc5Mq64VQ= github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= @@ -260,7 +259,6 @@ golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220615213510-4f61da869c0c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= diff --git a/sdk/python/pulumi_docker_build/_inputs.py b/sdk/python/pulumi_docker_build/_inputs.py index 6af554b..482c6d1 100644 --- a/sdk/python/pulumi_docker_build/_inputs.py +++ b/sdk/python/pulumi_docker_build/_inputs.py @@ -4,42 +4,101 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from . import _utilities from ._enums import * __all__ = [ 'BuildContextArgs', + 'BuildContextArgsDict', 'BuilderConfigArgs', + 'BuilderConfigArgsDict', 'CacheFromAzureBlobArgs', + 'CacheFromAzureBlobArgsDict', 'CacheFromGitHubActionsArgs', + 'CacheFromGitHubActionsArgsDict', 'CacheFromLocalArgs', + 'CacheFromLocalArgsDict', 'CacheFromRegistryArgs', + 'CacheFromRegistryArgsDict', 'CacheFromS3Args', + 'CacheFromS3ArgsDict', 'CacheFromArgs', + 'CacheFromArgsDict', 'CacheToAzureBlobArgs', + 'CacheToAzureBlobArgsDict', 'CacheToGitHubActionsArgs', + 'CacheToGitHubActionsArgsDict', 'CacheToInlineArgs', + 'CacheToInlineArgsDict', 'CacheToLocalArgs', + 'CacheToLocalArgsDict', 'CacheToRegistryArgs', + 'CacheToRegistryArgsDict', 'CacheToS3Args', + 'CacheToS3ArgsDict', 'CacheToArgs', + 'CacheToArgsDict', 'ContextArgs', + 'ContextArgsDict', 'DockerfileArgs', + 'DockerfileArgsDict', 'ExportCacheOnlyArgs', + 'ExportCacheOnlyArgsDict', 'ExportDockerArgs', + 'ExportDockerArgsDict', 'ExportImageArgs', + 'ExportImageArgsDict', 'ExportLocalArgs', + 'ExportLocalArgsDict', 'ExportOCIArgs', + 'ExportOCIArgsDict', 'ExportRegistryArgs', + 'ExportRegistryArgsDict', 'ExportTarArgs', + 'ExportTarArgsDict', 'ExportArgs', + 'ExportArgsDict', 'RegistryArgs', + 'RegistryArgsDict', 'SSHArgs', + 'SSHArgsDict', ] +MYPY = False + +if not MYPY: + class BuildContextArgsDict(TypedDict): + location: pulumi.Input[str] + """ + Resources to use for build context. + + The location can be: + * A relative or absolute path to a local directory (`.`, `./app`, + `/app`, etc.). + * A remote URL of a Git repository, tarball, or plain text file + (`https://github.com/user/myrepo.git`, `http://server/context.tar.gz`, + etc.). + """ + named: NotRequired[pulumi.Input[Mapping[str, pulumi.Input['ContextArgsDict']]]] + """ + Additional build contexts to use. + + These contexts are accessed with `FROM name` or `--from=name` + statements when using Dockerfile 1.4+ syntax. + + Values can be local paths, HTTP URLs, or `docker-image://` images. + """ +elif False: + BuildContextArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class BuildContextArgs: def __init__(__self__, *, @@ -102,6 +161,20 @@ class BuildContextArgs: pulumi.set(self, "named", value) +if not MYPY: + class BuilderConfigArgsDict(TypedDict): + name: NotRequired[pulumi.Input[str]] + """ + Name of an existing buildx builder to use. + + Only `docker-container`, `kubernetes`, or `remote` drivers are + supported. The legacy `docker` driver is not supported. + + Equivalent to Docker's `--builder` flag. + """ +elif False: + BuilderConfigArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class BuilderConfigArgs: def __init__(__self__, *, @@ -135,6 +208,23 @@ class BuilderConfigArgs: pulumi.set(self, "name", value) +if not MYPY: + class CacheFromAzureBlobArgsDict(TypedDict): + name: pulumi.Input[str] + """ + The name of the cache image. + """ + account_url: NotRequired[pulumi.Input[str]] + """ + Base URL of the storage account. + """ + secret_access_key: NotRequired[pulumi.Input[str]] + """ + Blob storage account key. + """ +elif False: + CacheFromAzureBlobArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class CacheFromAzureBlobArgs: def __init__(__self__, *, @@ -189,6 +279,35 @@ class CacheFromAzureBlobArgs: pulumi.set(self, "secret_access_key", value) +if not MYPY: + class CacheFromGitHubActionsArgsDict(TypedDict): + scope: NotRequired[pulumi.Input[str]] + """ + The scope to use for cache keys. Defaults to `buildkit`. + + This should be set if building and caching multiple images in one + workflow, otherwise caches will overwrite each other. + """ + token: NotRequired[pulumi.Input[str]] + """ + The GitHub Actions token to use. This is not a personal access tokens + and is typically generated automatically as part of each job. + + Defaults to `$ACTIONS_RUNTIME_TOKEN`, although a separate action like + `crazy-max/ghaction-github-runtime` is recommended to expose this + environment variable to your jobs. + """ + url: NotRequired[pulumi.Input[str]] + """ + The cache server URL to use for artifacts. + + Defaults to `$ACTIONS_CACHE_URL`, although a separate action like + `crazy-max/ghaction-github-runtime` is recommended to expose this + environment variable to your jobs. + """ +elif False: + CacheFromGitHubActionsArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class CacheFromGitHubActionsArgs: def __init__(__self__, *, @@ -274,6 +393,19 @@ class CacheFromGitHubActionsArgs: pulumi.set(self, "url", value) +if not MYPY: + class CacheFromLocalArgsDict(TypedDict): + src: pulumi.Input[str] + """ + Path of the local directory where cache gets imported from. + """ + digest: NotRequired[pulumi.Input[str]] + """ + Digest of manifest to import. + """ +elif False: + CacheFromLocalArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class CacheFromLocalArgs: def __init__(__self__, *, @@ -312,6 +444,15 @@ class CacheFromLocalArgs: pulumi.set(self, "digest", value) +if not MYPY: + class CacheFromRegistryArgsDict(TypedDict): + ref: pulumi.Input[str] + """ + Fully qualified name of the cache image to import. + """ +elif False: + CacheFromRegistryArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class CacheFromRegistryArgs: def __init__(__self__, *, @@ -334,6 +475,51 @@ class CacheFromRegistryArgs: pulumi.set(self, "ref", value) +if not MYPY: + class CacheFromS3ArgsDict(TypedDict): + bucket: pulumi.Input[str] + """ + Name of the S3 bucket. + """ + region: pulumi.Input[str] + """ + The geographic location of the bucket. Defaults to `$AWS_REGION`. + """ + access_key_id: NotRequired[pulumi.Input[str]] + """ + Defaults to `$AWS_ACCESS_KEY_ID`. + """ + blobs_prefix: NotRequired[pulumi.Input[str]] + """ + Prefix to prepend to blob filenames. + """ + endpoint_url: NotRequired[pulumi.Input[str]] + """ + Endpoint of the S3 bucket. + """ + manifests_prefix: NotRequired[pulumi.Input[str]] + """ + Prefix to prepend on manifest filenames. + """ + name: NotRequired[pulumi.Input[str]] + """ + Name of the cache image. + """ + secret_access_key: NotRequired[pulumi.Input[str]] + """ + Defaults to `$AWS_SECRET_ACCESS_KEY`. + """ + session_token: NotRequired[pulumi.Input[str]] + """ + Defaults to `$AWS_SESSION_TOKEN`. + """ + use_path_style: NotRequired[pulumi.Input[bool]] + """ + Uses `bucket` in the URL instead of hostname when `true`. + """ +elif False: + CacheFromS3ArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class CacheFromS3Args: def __init__(__self__, *, @@ -507,6 +693,44 @@ class CacheFromS3Args: pulumi.set(self, "use_path_style", value) +if not MYPY: + class CacheFromArgsDict(TypedDict): + azblob: NotRequired[pulumi.Input['CacheFromAzureBlobArgsDict']] + """ + Upload build caches to Azure's blob storage service. + """ + disabled: NotRequired[pulumi.Input[bool]] + """ + When `true` this entry will be excluded. Defaults to `false`. + """ + gha: NotRequired[pulumi.Input['CacheFromGitHubActionsArgsDict']] + """ + Recommended for use with GitHub Actions workflows. + + An action like `crazy-max/ghaction-github-runtime` is recommended to + expose appropriate credentials to your GitHub workflow. + """ + local: NotRequired[pulumi.Input['CacheFromLocalArgsDict']] + """ + A simple backend which caches images on your local filesystem. + """ + raw: NotRequired[pulumi.Input[str]] + """ + A raw string as you would provide it to the Docker CLI (e.g., + `type=inline`). + """ + registry: NotRequired[pulumi.Input['CacheFromRegistryArgsDict']] + """ + Upload build caches to remote registries. + """ + s3: NotRequired[pulumi.Input['CacheFromS3ArgsDict']] + """ + Upload build caches to AWS S3 or an S3-compatible services such as + MinIO. + """ +elif False: + CacheFromArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class CacheFromArgs: def __init__(__self__, *, @@ -636,6 +860,31 @@ class CacheFromArgs: pulumi.set(self, "s3", value) +if not MYPY: + class CacheToAzureBlobArgsDict(TypedDict): + name: pulumi.Input[str] + """ + The name of the cache image. + """ + account_url: NotRequired[pulumi.Input[str]] + """ + Base URL of the storage account. + """ + ignore_error: NotRequired[pulumi.Input[bool]] + """ + Ignore errors caused by failed cache exports. + """ + mode: NotRequired[pulumi.Input['CacheMode']] + """ + The cache mode to use. Defaults to `min`. + """ + secret_access_key: NotRequired[pulumi.Input[str]] + """ + Blob storage account key. + """ +elif False: + CacheToAzureBlobArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class CacheToAzureBlobArgs: def __init__(__self__, *, @@ -726,6 +975,43 @@ class CacheToAzureBlobArgs: pulumi.set(self, "secret_access_key", value) +if not MYPY: + class CacheToGitHubActionsArgsDict(TypedDict): + ignore_error: NotRequired[pulumi.Input[bool]] + """ + Ignore errors caused by failed cache exports. + """ + mode: NotRequired[pulumi.Input['CacheMode']] + """ + The cache mode to use. Defaults to `min`. + """ + scope: NotRequired[pulumi.Input[str]] + """ + The scope to use for cache keys. Defaults to `buildkit`. + + This should be set if building and caching multiple images in one + workflow, otherwise caches will overwrite each other. + """ + token: NotRequired[pulumi.Input[str]] + """ + The GitHub Actions token to use. This is not a personal access tokens + and is typically generated automatically as part of each job. + + Defaults to `$ACTIONS_RUNTIME_TOKEN`, although a separate action like + `crazy-max/ghaction-github-runtime` is recommended to expose this + environment variable to your jobs. + """ + url: NotRequired[pulumi.Input[str]] + """ + The cache server URL to use for artifacts. + + Defaults to `$ACTIONS_CACHE_URL`, although a separate action like + `crazy-max/ghaction-github-runtime` is recommended to expose this + environment variable to your jobs. + """ +elif False: + CacheToGitHubActionsArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class CacheToGitHubActionsArgs: def __init__(__self__, *, @@ -847,6 +1133,15 @@ class CacheToGitHubActionsArgs: pulumi.set(self, "url", value) +if not MYPY: + class CacheToInlineArgsDict(TypedDict): + """ + Include an inline cache with the exported image. + """ + pass +elif False: + CacheToInlineArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class CacheToInlineArgs: def __init__(__self__): @@ -856,6 +1151,35 @@ class CacheToInlineArgs: pass +if not MYPY: + class CacheToLocalArgsDict(TypedDict): + dest: pulumi.Input[str] + """ + Path of the local directory to export the cache. + """ + compression: NotRequired[pulumi.Input['CompressionType']] + """ + The compression type to use. + """ + compression_level: NotRequired[pulumi.Input[int]] + """ + Compression level from 0 to 22. + """ + force_compression: NotRequired[pulumi.Input[bool]] + """ + Forcefully apply compression. + """ + ignore_error: NotRequired[pulumi.Input[bool]] + """ + Ignore errors caused by failed cache exports. + """ + mode: NotRequired[pulumi.Input['CacheMode']] + """ + The cache mode to use. Defaults to `min`. + """ +elif False: + CacheToLocalArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class CacheToLocalArgs: def __init__(__self__, *, @@ -968,6 +1292,50 @@ class CacheToLocalArgs: pulumi.set(self, "mode", value) +if not MYPY: + class CacheToRegistryArgsDict(TypedDict): + ref: pulumi.Input[str] + """ + Fully qualified name of the cache image to import. + """ + compression: NotRequired[pulumi.Input['CompressionType']] + """ + The compression type to use. + """ + compression_level: NotRequired[pulumi.Input[int]] + """ + Compression level from 0 to 22. + """ + force_compression: NotRequired[pulumi.Input[bool]] + """ + Forcefully apply compression. + """ + ignore_error: NotRequired[pulumi.Input[bool]] + """ + Ignore errors caused by failed cache exports. + """ + image_manifest: NotRequired[pulumi.Input[bool]] + """ + Export cache manifest as an OCI-compatible image manifest instead of a + manifest list. Requires `ociMediaTypes` to also be `true`. + + Some registries like AWS ECR will not work with caching if this is + `false`. + + Defaults to `false` to match Docker's default behavior. + """ + mode: NotRequired[pulumi.Input['CacheMode']] + """ + The cache mode to use. Defaults to `min`. + """ + oci_media_types: NotRequired[pulumi.Input[bool]] + """ + Whether to use OCI media types in exported manifests. Defaults to + `true`. + """ +elif False: + CacheToRegistryArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class CacheToRegistryArgs: def __init__(__self__, *, @@ -1130,6 +1498,59 @@ class CacheToRegistryArgs: pulumi.set(self, "oci_media_types", value) +if not MYPY: + class CacheToS3ArgsDict(TypedDict): + bucket: pulumi.Input[str] + """ + Name of the S3 bucket. + """ + region: pulumi.Input[str] + """ + The geographic location of the bucket. Defaults to `$AWS_REGION`. + """ + access_key_id: NotRequired[pulumi.Input[str]] + """ + Defaults to `$AWS_ACCESS_KEY_ID`. + """ + blobs_prefix: NotRequired[pulumi.Input[str]] + """ + Prefix to prepend to blob filenames. + """ + endpoint_url: NotRequired[pulumi.Input[str]] + """ + Endpoint of the S3 bucket. + """ + ignore_error: NotRequired[pulumi.Input[bool]] + """ + Ignore errors caused by failed cache exports. + """ + manifests_prefix: NotRequired[pulumi.Input[str]] + """ + Prefix to prepend on manifest filenames. + """ + mode: NotRequired[pulumi.Input['CacheMode']] + """ + The cache mode to use. Defaults to `min`. + """ + name: NotRequired[pulumi.Input[str]] + """ + Name of the cache image. + """ + secret_access_key: NotRequired[pulumi.Input[str]] + """ + Defaults to `$AWS_SECRET_ACCESS_KEY`. + """ + session_token: NotRequired[pulumi.Input[str]] + """ + Defaults to `$AWS_SESSION_TOKEN`. + """ + use_path_style: NotRequired[pulumi.Input[bool]] + """ + Uses `bucket` in the URL instead of hostname when `true`. + """ +elif False: + CacheToS3ArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class CacheToS3Args: def __init__(__self__, *, @@ -1339,6 +1760,50 @@ class CacheToS3Args: pulumi.set(self, "use_path_style", value) +if not MYPY: + class CacheToArgsDict(TypedDict): + azblob: NotRequired[pulumi.Input['CacheToAzureBlobArgsDict']] + """ + Push cache to Azure's blob storage service. + """ + disabled: NotRequired[pulumi.Input[bool]] + """ + When `true` this entry will be excluded. Defaults to `false`. + """ + gha: NotRequired[pulumi.Input['CacheToGitHubActionsArgsDict']] + """ + Recommended for use with GitHub Actions workflows. + + An action like `crazy-max/ghaction-github-runtime` is recommended to + expose appropriate credentials to your GitHub workflow. + """ + inline: NotRequired[pulumi.Input['CacheToInlineArgsDict']] + """ + The inline cache storage backend is the simplest implementation to get + started with, but it does not handle multi-stage builds. Consider the + `registry` cache backend instead. + """ + local: NotRequired[pulumi.Input['CacheToLocalArgsDict']] + """ + A simple backend which caches imagines on your local filesystem. + """ + raw: NotRequired[pulumi.Input[str]] + """ + A raw string as you would provide it to the Docker CLI (e.g., + `type=inline`) + """ + registry: NotRequired[pulumi.Input['CacheToRegistryArgsDict']] + """ + Push caches to remote registries. Incompatible with the `docker` build + driver. + """ + s3: NotRequired[pulumi.Input['CacheToS3ArgsDict']] + """ + Push cache to AWS S3 or S3-compatible services such as MinIO. + """ +elif False: + CacheToArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class CacheToArgs: def __init__(__self__, *, @@ -1488,6 +1953,22 @@ class CacheToArgs: pulumi.set(self, "s3", value) +if not MYPY: + class ContextArgsDict(TypedDict): + location: pulumi.Input[str] + """ + Resources to use for build context. + + The location can be: + * A relative or absolute path to a local directory (`.`, `./app`, + `/app`, etc.). + * A remote URL of a Git repository, tarball, or plain text file + (`https://github.com/user/myrepo.git`, `http://server/context.tar.gz`, + etc.). + """ +elif False: + ContextArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class ContextArgs: def __init__(__self__, *, @@ -1524,6 +2005,29 @@ class ContextArgs: pulumi.set(self, "location", value) +if not MYPY: + class DockerfileArgsDict(TypedDict): + inline: NotRequired[pulumi.Input[str]] + """ + Raw Dockerfile contents. + + Conflicts with `location`. + + Equivalent to invoking Docker with `-f -`. + """ + location: NotRequired[pulumi.Input[str]] + """ + Location of the Dockerfile to use. + + Can be a relative or absolute path to a local file, or a remote URL. + + Defaults to `${context.location}/Dockerfile` if context is on-disk. + + Conflicts with `inline`. + """ +elif False: + DockerfileArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class DockerfileArgs: def __init__(__self__, *, @@ -1583,12 +2087,55 @@ class DockerfileArgs: pulumi.set(self, "location", value) +if not MYPY: + class ExportCacheOnlyArgsDict(TypedDict): + pass +elif False: + ExportCacheOnlyArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class ExportCacheOnlyArgs: def __init__(__self__): pass +if not MYPY: + class ExportDockerArgsDict(TypedDict): + annotations: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[str]]]] + """ + Attach an arbitrary key/value annotation to the image. + """ + compression: NotRequired[pulumi.Input['CompressionType']] + """ + The compression type to use. + """ + compression_level: NotRequired[pulumi.Input[int]] + """ + Compression level from 0 to 22. + """ + dest: NotRequired[pulumi.Input[str]] + """ + The local export path. + """ + force_compression: NotRequired[pulumi.Input[bool]] + """ + Forcefully apply compression. + """ + names: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]] + """ + Specify images names to export. This is overridden if tags are already specified. + """ + oci_media_types: NotRequired[pulumi.Input[bool]] + """ + Use OCI media types in exporter manifests. + """ + tar: NotRequired[pulumi.Input[bool]] + """ + Bundle the output into a tarball layout. + """ +elif False: + ExportDockerArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class ExportDockerArgs: def __init__(__self__, *, @@ -1734,6 +2281,70 @@ class ExportDockerArgs: pulumi.set(self, "tar", value) +if not MYPY: + class ExportImageArgsDict(TypedDict): + annotations: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[str]]]] + """ + Attach an arbitrary key/value annotation to the image. + """ + compression: NotRequired[pulumi.Input['CompressionType']] + """ + The compression type to use. + """ + compression_level: NotRequired[pulumi.Input[int]] + """ + Compression level from 0 to 22. + """ + dangling_name_prefix: NotRequired[pulumi.Input[str]] + """ + Name image with `prefix@`, used for anonymous images. + """ + force_compression: NotRequired[pulumi.Input[bool]] + """ + Forcefully apply compression. + """ + insecure: NotRequired[pulumi.Input[bool]] + """ + Allow pushing to an insecure registry. + """ + name_canonical: NotRequired[pulumi.Input[bool]] + """ + Add additional canonical name (`name@`). + """ + names: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]] + """ + Specify images names to export. This is overridden if tags are already specified. + """ + oci_media_types: NotRequired[pulumi.Input[bool]] + """ + Use OCI media types in exporter manifests. + """ + push: NotRequired[pulumi.Input[bool]] + """ + Push after creating the image. Defaults to `false`. + """ + push_by_digest: NotRequired[pulumi.Input[bool]] + """ + Push image without name. + """ + store: NotRequired[pulumi.Input[bool]] + """ + Store resulting images to the worker's image store and ensure all of + its blobs are in the content store. + + Defaults to `true`. + + Ignored if the worker doesn't have image store (when using OCI workers, + for example). + """ + unpack: NotRequired[pulumi.Input[bool]] + """ + Unpack image after creation (for use with containerd). Defaults to + `false`. + """ +elif False: + ExportImageArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class ExportImageArgs: def __init__(__self__, *, @@ -1973,6 +2584,15 @@ class ExportImageArgs: pulumi.set(self, "unpack", value) +if not MYPY: + class ExportLocalArgsDict(TypedDict): + dest: pulumi.Input[str] + """ + Output path. + """ +elif False: + ExportLocalArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class ExportLocalArgs: def __init__(__self__, *, @@ -1995,6 +2615,43 @@ class ExportLocalArgs: pulumi.set(self, "dest", value) +if not MYPY: + class ExportOCIArgsDict(TypedDict): + annotations: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[str]]]] + """ + Attach an arbitrary key/value annotation to the image. + """ + compression: NotRequired[pulumi.Input['CompressionType']] + """ + The compression type to use. + """ + compression_level: NotRequired[pulumi.Input[int]] + """ + Compression level from 0 to 22. + """ + dest: NotRequired[pulumi.Input[str]] + """ + The local export path. + """ + force_compression: NotRequired[pulumi.Input[bool]] + """ + Forcefully apply compression. + """ + names: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]] + """ + Specify images names to export. This is overridden if tags are already specified. + """ + oci_media_types: NotRequired[pulumi.Input[bool]] + """ + Use OCI media types in exporter manifests. + """ + tar: NotRequired[pulumi.Input[bool]] + """ + Bundle the output into a tarball layout. + """ +elif False: + ExportOCIArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class ExportOCIArgs: def __init__(__self__, *, @@ -2140,6 +2797,70 @@ class ExportOCIArgs: pulumi.set(self, "tar", value) +if not MYPY: + class ExportRegistryArgsDict(TypedDict): + annotations: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[str]]]] + """ + Attach an arbitrary key/value annotation to the image. + """ + compression: NotRequired[pulumi.Input['CompressionType']] + """ + The compression type to use. + """ + compression_level: NotRequired[pulumi.Input[int]] + """ + Compression level from 0 to 22. + """ + dangling_name_prefix: NotRequired[pulumi.Input[str]] + """ + Name image with `prefix@`, used for anonymous images. + """ + force_compression: NotRequired[pulumi.Input[bool]] + """ + Forcefully apply compression. + """ + insecure: NotRequired[pulumi.Input[bool]] + """ + Allow pushing to an insecure registry. + """ + name_canonical: NotRequired[pulumi.Input[bool]] + """ + Add additional canonical name (`name@`). + """ + names: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]] + """ + Specify images names to export. This is overridden if tags are already specified. + """ + oci_media_types: NotRequired[pulumi.Input[bool]] + """ + Use OCI media types in exporter manifests. + """ + push: NotRequired[pulumi.Input[bool]] + """ + Push after creating the image. Defaults to `true`. + """ + push_by_digest: NotRequired[pulumi.Input[bool]] + """ + Push image without name. + """ + store: NotRequired[pulumi.Input[bool]] + """ + Store resulting images to the worker's image store and ensure all of + its blobs are in the content store. + + Defaults to `true`. + + Ignored if the worker doesn't have image store (when using OCI workers, + for example). + """ + unpack: NotRequired[pulumi.Input[bool]] + """ + Unpack image after creation (for use with containerd). Defaults to + `false`. + """ +elif False: + ExportRegistryArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class ExportRegistryArgs: def __init__(__self__, *, @@ -2381,6 +3102,15 @@ class ExportRegistryArgs: pulumi.set(self, "unpack", value) +if not MYPY: + class ExportTarArgsDict(TypedDict): + dest: pulumi.Input[str] + """ + Output path. + """ +elif False: + ExportTarArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class ExportTarArgs: def __init__(__self__, *, @@ -2403,6 +3133,49 @@ class ExportTarArgs: pulumi.set(self, "dest", value) +if not MYPY: + class ExportArgsDict(TypedDict): + cacheonly: NotRequired[pulumi.Input['ExportCacheOnlyArgsDict']] + """ + A no-op export. Helpful for silencing the 'no exports' warning if you + just want to populate caches. + """ + disabled: NotRequired[pulumi.Input[bool]] + """ + When `true` this entry will be excluded. Defaults to `false`. + """ + docker: NotRequired[pulumi.Input['ExportDockerArgsDict']] + """ + Export as a Docker image layout. + """ + image: NotRequired[pulumi.Input['ExportImageArgsDict']] + """ + Outputs the build result into a container image format. + """ + local: NotRequired[pulumi.Input['ExportLocalArgsDict']] + """ + Export to a local directory as files and directories. + """ + oci: NotRequired[pulumi.Input['ExportOCIArgsDict']] + """ + Identical to the Docker exporter but uses OCI media types by default. + """ + raw: NotRequired[pulumi.Input[str]] + """ + A raw string as you would provide it to the Docker CLI (e.g., + `type=docker`) + """ + registry: NotRequired[pulumi.Input['ExportRegistryArgsDict']] + """ + Identical to the Image exporter, but pushes by default. + """ + tar: NotRequired[pulumi.Input['ExportTarArgsDict']] + """ + Export to a local directory as a tarball. + """ +elif False: + ExportArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class ExportArgs: def __init__(__self__, *, @@ -2558,6 +3331,23 @@ class ExportArgs: pulumi.set(self, "tar", value) +if not MYPY: + class RegistryArgsDict(TypedDict): + address: pulumi.Input[str] + """ + The registry's address (e.g. "docker.io"). + """ + password: NotRequired[pulumi.Input[str]] + """ + Password or token for the registry. + """ + username: NotRequired[pulumi.Input[str]] + """ + Username for the registry. + """ +elif False: + RegistryArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class RegistryArgs: def __init__(__self__, *, @@ -2612,6 +3402,29 @@ class RegistryArgs: pulumi.set(self, "username", value) +if not MYPY: + class SSHArgsDict(TypedDict): + id: pulumi.Input[str] + """ + Useful for distinguishing different servers that are part of the same + build. + + A value of `default` is appropriate if only dealing with a single host. + """ + paths: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]] + """ + SSH agent socket or private keys to expose to the build under the given + identifier. + + Defaults to `[$SSH_AUTH_SOCK]`. + + Note that your keys are **not** automatically added when using an + agent. Run `ssh-add -l` locally to confirm which public keys are + visible to the agent; these will be exposed to your build. + """ +elif False: + SSHArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class SSHArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_docker_build/config/__init__.pyi b/sdk/python/pulumi_docker_build/config/__init__.pyi index 56b3600..1bc57c9 100644 --- a/sdk/python/pulumi_docker_build/config/__init__.pyi +++ b/sdk/python/pulumi_docker_build/config/__init__.pyi @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities from .. import outputs as _root_outputs diff --git a/sdk/python/pulumi_docker_build/config/vars.py b/sdk/python/pulumi_docker_build/config/vars.py index 340ed0e..052e400 100644 --- a/sdk/python/pulumi_docker_build/config/vars.py +++ b/sdk/python/pulumi_docker_build/config/vars.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities from .. import outputs as _root_outputs diff --git a/sdk/python/pulumi_docker_build/image.py b/sdk/python/pulumi_docker_build/image.py index 0bb1e07..f856829 100644 --- a/sdk/python/pulumi_docker_build/image.py +++ b/sdk/python/pulumi_docker_build/image.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from . import _utilities from . import outputs from ._enums import * diff --git a/sdk/python/pulumi_docker_build/index.py b/sdk/python/pulumi_docker_build/index.py index 88ee75a..ecb79ee 100644 --- a/sdk/python/pulumi_docker_build/index.py +++ b/sdk/python/pulumi_docker_build/index.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from . import _utilities from . import outputs from ._inputs import * diff --git a/sdk/python/pulumi_docker_build/outputs.py b/sdk/python/pulumi_docker_build/outputs.py index 5907951..fea83f8 100644 --- a/sdk/python/pulumi_docker_build/outputs.py +++ b/sdk/python/pulumi_docker_build/outputs.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from . import _utilities from . import outputs from ._enums import * diff --git a/sdk/python/pulumi_docker_build/provider.py b/sdk/python/pulumi_docker_build/provider.py index 47dd1c8..8720694 100644 --- a/sdk/python/pulumi_docker_build/provider.py +++ b/sdk/python/pulumi_docker_build/provider.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from . import _utilities from ._inputs import * diff --git a/sdk/python/pyproject.toml b/sdk/python/pyproject.toml index c16a253..81d153f 100644 --- a/sdk/python/pyproject.toml +++ b/sdk/python/pyproject.toml @@ -1,7 +1,7 @@ [project] name = "pulumi_docker_build" description = "A Pulumi provider for building modern Docker images with buildx and BuildKit." - dependencies = ["parver>=0.2.1", "pulumi>=3.0.0,<4.0.0", "semver>=2.8.1"] + dependencies = ["parver>=0.2.1", "pulumi>=3.0.0,<4.0.0", "semver>=2.8.1", "typing-extensions>=4.11; python_version < \"3.11\""] keywords = ["docker", "buildkit", "buildx", "kind/native"] readme = "README.md" requires-python = ">=3.8"