diff --git a/.github/dependabot.yml b/.github/dependabot.yml
index c1bc7e5..3332f19 100644
--- a/.github/dependabot.yml
+++ b/.github/dependabot.yml
@@ -8,8 +8,6 @@ updates:
pulumi:
patterns:
- "github.com/pulumi/*"
- exclude-patterns:
- - "k8s.io/utils"
labels:
- dependencies
- impact/no-changelog-required
diff --git a/docs/yaml/image-examples.yaml b/docs/yaml/image-examples.yaml
index 2dcc8ca..0958c3d 100644
--- a/docs/yaml/image-examples.yaml
+++ b/docs/yaml/image-examples.yaml
@@ -6,7 +6,7 @@ resources:
ecr-repository:
type: aws:ecr:Repository
my-image:
- type: dockerbuild:Image
+ type: docker-build:Image
properties:
tags:
- ${ecr-repository.repositoryUrl}:latest
@@ -36,7 +36,7 @@ runtime: yaml
description: Multi-platform image
resources:
image:
- type: dockerbuild:Image
+ type: docker-build:Image
properties:
context:
location: "app"
@@ -49,7 +49,7 @@ runtime: yaml
description: Registry export
resources:
image:
- type: dockerbuild:Image
+ type: docker-build:Image
properties:
tags:
- "docker.io/pulumi/pulumi:3.107.0"
@@ -68,7 +68,7 @@ runtime: yaml
description: Caching
resources:
image:
- type: dockerbuild:Image
+ type: docker-build:Image
properties:
context:
location: "app"
@@ -85,7 +85,7 @@ runtime: yaml
description: Docker Build Cloud
resources:
image:
- type: dockerbuild:Image
+ type: docker-build:Image
properties:
context:
location: "app"
@@ -98,7 +98,7 @@ runtime: yaml
description: Build arguments
resources:
image:
- type: dockerbuild:Image
+ type: docker-build:Image
properties:
context:
location: "app"
@@ -110,7 +110,7 @@ runtime: yaml
description: Build target
resources:
image:
- type: dockerbuild:Image
+ type: docker-build:Image
properties:
context:
location: "app"
@@ -121,7 +121,7 @@ runtime: yaml
description: Named contexts
resources:
image:
- type: dockerbuild:Image
+ type: docker-build:Image
properties:
context:
location: app
@@ -134,7 +134,7 @@ runtime: yaml
description: Remote context
resources:
image:
- type: dockerbuild:Image
+ type: docker-build:Image
properties:
context:
location: "https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile"
@@ -145,7 +145,7 @@ runtime: yaml
description: Inline Dockerfile
resources:
image:
- type: dockerbuild:Image
+ type: docker-build:Image
properties:
dockerfile:
inline: |
@@ -159,7 +159,7 @@ runtime: yaml
description: Remote context
resources:
image:
- type: dockerbuild:Image
+ type: docker-build:Image
properties:
dockerfile:
location: app/Dockerfile
@@ -171,7 +171,7 @@ runtime: yaml
description: Local export
resources:
image:
- type: dockerbuild:Image
+ type: docker-build:Image
properties:
context:
location: "app"
diff --git a/provider/cmd/pulumi-resource-docker-build/schema.json b/provider/cmd/pulumi-resource-docker-build/schema.json
index 176901f..609c9ef 100644
--- a/provider/cmd/pulumi-resource-docker-build/schema.json
+++ b/provider/cmd/pulumi-resource-docker-build/schema.json
@@ -1,17 +1,17 @@
{
"name": "docker-build",
"displayName": "docker-build",
- "version": "0.0.2-alpha.1713311625+23b00ae7.dirty",
+ "version": "0.0.2-alpha.1713460092+40f5fdf1.dirty",
"description": "A Pulumi provider for Docker buildx",
"keywords": [
"docker",
"buildkit",
- "buildx"
+ "buildx",
+ "kind/native"
],
- "homepage": "https://pulumi.io",
+ "homepage": "https://pulumi.com",
"license": "Apache-2.0",
"repository": "https://github.com/pulumi/pulumi-docker-build",
- "pluginDownloadURL": "github.com/pulumi/pulumi-docker-build",
"publisher": "pulumi",
"meta": {
"moduleFormat": "(.*)"
@@ -1121,7 +1121,7 @@
},
"resources": {
"docker-build:index:Image": {
- "description": "A Docker image built using buildx -- Docker's interface to the improved\nBuildKit backend.\n\n## Stability\n\n**This resource is experimental and subject to change.**\n\nAPI types are unstable. Subsequent releases _may_ require manual edits\nto your state file(s) in order to adopt API changes.\n\n`retainOnDelete: true` is recommended with this resource until it is\nstable. This enables future API changes to be adopted more easily by renaming\nresources.\n\nOnly use this resource if you understand and accept the risks.\n\n## Migrating v3 and v4 Image resources\n\nThe `Image` resource provides a superset of functionality over the `Image` resources available in versions 3 and 4 of the Pulumi Docker provider.\nExisting `Image` resources can be converted to the docker-build `Image` resources with minor modifications.\n\n### Behavioral differences\n\nThere are several key behavioral differences to keep in mind when transitioning images to the new `Image` resource.\n\n#### Previews\n\nVersion `3.x` of the Pulumi Docker provider always builds images during preview operations.\nThis is helpful as a safeguard to prevent \"broken\" images from merging, but users found the behavior unnecessarily redundant when running previews and updates locally.\n\nVersion `4.x` changed build-on-preview behavior to be opt-in.\nBy default, `v4.x` `Image` resources do _not_ build during previews, but this behavior can be toggled with the `buildOnPreview` option.\nSome users felt this made previews in CI less helpful because they no longer detected bad images by default.\n\nThe default behavior of the `Image` resource has been changed to strike a better balance between CI use cases and manual updates.\nBy default, Pulumi will now only build `Image` resources during previews when it detects a CI environment like GitHub Actions.\nPreviews run in non-CI environments will not build images.\nThis behavior is still configurable with `buildOnPreview`.\n\n#### Push behavior\n\nVersions `3.x` and `4.x` of the Pulumi Docker provider attempt to push images to remote registries by default.\nThey expose a `skipPush: true` option to disable pushing.\n\nThe `Image` resource matches the Docker CLI's behavior and does not push images anywhere by default.\n\nTo push images to a registry you can include `push: true` (equivalent to Docker's `--push` flag) or configure an `export` of type `registry` (equivalent to Docker's `--output type=registry`).\nLike Docker, if an image is configured without exports you will see a warning with instructions for how to enable pushing, but the build will still proceed normally.\n\n#### Secrets\n\nVersion `3.x` of the Pulumi Docker provider supports secrets by way of the `extraOptions` field.\n\nVersion `4.x` of the Pulumi Docker provider does not support secrets.\n\nThe `Image` resource supports secrets but does not require those secrets to exist on-disk or in environment variables.\nInstead, they should be passed directly as values.\n(Please be sure to familiarize yourself with Pulumi's [native secret handling](https://www.pulumi.com/docs/concepts/secrets/).)\nPulumi also provides [ESC](https://www.pulumi.com/product/esc/) to make it easier to share secrets across stacks and environments.\n\n#### Caching\n\nVersion `3.x` of the Pulumi Docker provider exposes `cacheFrom: bool | { stages: [...] }`.\nIt builds targets individually and pushes them to separate images for caching.\n\nVersion `4.x` exposes a similar parameter `cacheFrom: { images: [...] }` which pushes and pulls inline caches.\n\nBoth versions 3 and 4 require specific environment variables to be set and deviate from Docker's native caching behavior.\nThis can result in inefficient builds due to unnecessary image pulls, repeated file transfers, etc.\n\nThe `Image` resource delegates all caching behavior to Docker.\n`cacheFrom` and `cacheTo` options (equivalent to Docker's `--cache-to` and `--cache-from`) are exposed and provide additional cache targets, such as local disk, S3 storage, etc.\n\n#### Outputs\n\nVersions `3.x` and `4.x` of the provider exposed a `repoDigest` output which was a fully qualified tag with digest.\nIn `4.x` this could also be a single sha256 hash if the image wasn't pushed.\n\nUnlike earlier providers the `Image` resource can push multiple tags.\nAs a convenience, it exposes a `ref` output consisting of a tag with digest as long as the image was pushed.\nIf multiple tags were pushed this uses one at random.\n\nIf you need more control over tag references you can use the `digest` output, which is always a single sha256 hash as long as the image was exported somewhere.\n\n#### Tag deletion and refreshes\n\nVersions 3 and 4 of Pulumi Docker provider do not delete tags when the `Image` resource is deleted, nor do they confirm expected tags exist during `refresh` operations.\n\nThe `buidx.Image` will query your registries during `refresh` to ensure the expected tags exist.\nIf any are missing a subsequent `update` will push them.\n\nWhen a `Image` is deleted, it will _attempt_ to also delete any pushed tags.\nDeletion of remote tags is not guaranteed because not all registries support the manifest `DELETE` API (`docker.io` in particular).\nManifests are _not_ deleted in the same way during updates -- to do so safely would require a full build to determine whether a Pulumi operation should be an update or update-replace.\n\nUse the [`retainOnDelete: true`](https://www.pulumi.com/docs/concepts/options/retainondelete/) option if you do not want tags deleted.\n\n### Example migration\n\nExamples of \"fully-featured\" `v3` and `v4` `Image` resources are shown below, along with an example `Image` resource showing how they would look after migration.\n\nThe `v3` resource leverages `buildx` via a `DOCKER_BUILDKIT` environment variable and CLI flags passed in with `extraOption`.\nAfter migration, the environment variable is no longer needed and CLI flags are now properties on the `Image`.\nIn almost all cases, properties of `Image` are named after the Docker CLI flag they correspond to.\n\nThe `v4` resource is less functional than its `v3` counterpart because it lacks the flexibility of `extraOptions`.\nIt it is shown with parameters similar to the `v3` example for completeness.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### v3/v4 migration\n\n```typescript\n\n// v3 Image\nconst v3 = new docker.Image(\"v3-image\", {\n imageName: \"myregistry.com/user/repo:latest\",\n localImageName: \"local-tag\",\n skipPush: false,\n build: {\n dockerfile: \"./Dockerfile\",\n context: \"../app\",\n target: \"mytarget\",\n args: {\n MY_BUILD_ARG: \"foo\",\n },\n env: {\n DOCKER_BUILDKIT: \"1\",\n },\n extraOptions: [\n \"--cache-from\",\n \"type=registry,myregistry.com/user/repo:cache\",\n \"--cache-to\",\n \"type=registry,myregistry.com/user/repo:cache\",\n \"--add-host\",\n \"metadata.google.internal:169.254.169.254\",\n \"--secret\",\n \"id=mysecret,src=/local/secret\",\n \"--ssh\",\n \"default=/home/runner/.ssh/id_ed25519\",\n \"--network\",\n \"host\",\n \"--platform\",\n \"linux/amd64\",\n ],\n },\n registry: {\n server: \"myregistry.com\",\n username: \"username\",\n password: pulumi.secret(\"password\"),\n },\n});\n\n// v3 Image after migrating to docker-build.Image\nconst v3Migrated = new dockerbuild.Image(\"v3-to-buildx\", {\n tags: [\"myregistry.com/user/repo:latest\", \"local-tag\"],\n push: true,\n dockerfile: {\n location: \"./Dockerfile\",\n },\n context: {\n location: \"../app\",\n },\n targets: [\"mytarget\"],\n buildArgs: {\n MY_BUILD_ARG: \"foo\",\n },\n cacheFrom: [{ registry: { ref: \"myregistry.com/user/repo:cache\" } }],\n cacheTo: [{ registry: { ref: \"myregistry.com/user/repo:cache\" } }],\n secrets: {\n mysecret: \"value\",\n },\n addHosts: [\"metadata.google.internal:169.254.169.254\"],\n ssh: {\n default: [\"/home/runner/.ssh/id_ed25519\"],\n },\n network: \"host\",\n platforms: [\"linux/amd64\"],\n registries: [{\n address: \"myregistry.com\",\n username: \"username\",\n password: pulumi.secret(\"password\"),\n }],\n});\n\n\n// v4 Image\nconst v4 = new docker.Image(\"v4-image\", {\n imageName: \"myregistry.com/user/repo:latest\",\n skipPush: false,\n build: {\n dockerfile: \"./Dockerfile\",\n context: \"../app\",\n target: \"mytarget\",\n args: {\n MY_BUILD_ARG: \"foo\",\n },\n cacheFrom: {\n images: [\"myregistry.com/user/repo:cache\"],\n },\n addHosts: [\"metadata.google.internal:169.254.169.254\"],\n network: \"host\",\n platform: \"linux/amd64\",\n },\n buildOnPreview: true,\n registry: {\n server: \"myregistry.com\",\n username: \"username\",\n password: pulumi.secret(\"password\"),\n },\n});\n\n// v4 Image after migrating to docker-build.Image\nconst v4Migrated = new dockerbuild.Image(\"v4-to-buildx\", {\n tags: [\"myregistry.com/user/repo:latest\"],\n push: true,\n dockerfile: {\n location: \"./Dockerfile\",\n },\n context: {\n location: \"../app\",\n },\n targets: [\"mytarget\"],\n buildArgs: {\n MY_BUILD_ARG: \"foo\",\n },\n cacheFrom: [{ registry: { ref: \"myregistry.com/user/repo:cache\" } }],\n cacheTo: [{ registry: { ref: \"myregistry.com/user/repo:cache\" } }],\n addHosts: [\"metadata.google.internal:169.254.169.254\"],\n network: \"host\",\n platforms: [\"linux/amd64\"],\n registries: [{\n address: \"myregistry.com\",\n username: \"username\",\n password: pulumi.secret(\"password\"),\n }],\n});\n\n```\n\n{{% /example %}}\n\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Push to AWS ECR with caching\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as dockerbuild from \"@pulumi/dockerbuild\";\n\nconst ecrRepository = new aws.ecr.Repository(\"ecr-repository\", {});\nconst authToken = aws.ecr.getAuthorizationTokenOutput({\n registryId: ecrRepository.registryId,\n});\nconst myImage = new dockerbuild.Image(\"my-image\", {\n cacheFrom: [{\n registry: {\n ref: pulumi.interpolate`${ecrRepository.repositoryUrl}:cache`,\n },\n }],\n cacheTo: [{\n registry: {\n imageManifest: true,\n ociMediaTypes: true,\n ref: pulumi.interpolate`${ecrRepository.repositoryUrl}:cache`,\n },\n }],\n context: {\n location: \"./app\",\n },\n push: true,\n registries: [{\n address: ecrRepository.repositoryUrl,\n password: authToken.apply(authToken =\u003e authToken.password),\n username: authToken.apply(authToken =\u003e authToken.userName),\n }],\n tags: [pulumi.interpolate`${ecrRepository.repositoryUrl}:latest`],\n});\nexport const ref = myImage.ref;\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_dockerbuild as dockerbuild\n\necr_repository = aws.ecr.Repository(\"ecr-repository\")\nauth_token = aws.ecr.get_authorization_token_output(registry_id=ecr_repository.registry_id)\nmy_image = dockerbuild.Image(\"my-image\",\n cache_from=[dockerbuild.CacheFromArgs(\n registry=dockerbuild.CacheFromRegistryArgs(\n ref=ecr_repository.repository_url.apply(lambda repository_url: f\"{repository_url}:cache\"),\n ),\n )],\n cache_to=[dockerbuild.CacheToArgs(\n registry=dockerbuild.CacheToRegistryArgs(\n image_manifest=True,\n oci_media_types=True,\n ref=ecr_repository.repository_url.apply(lambda repository_url: f\"{repository_url}:cache\"),\n ),\n )],\n context=dockerbuild.BuildContextArgs(\n location=\"./app\",\n ),\n push=True,\n registries=[dockerbuild.RegistryArgs(\n address=ecr_repository.repository_url,\n password=auth_token.password,\n username=auth_token.user_name,\n )],\n tags=[ecr_repository.repository_url.apply(lambda repository_url: f\"{repository_url}:latest\")])\npulumi.export(\"ref\", my_image.ref)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Dockerbuild = Pulumi.Dockerbuild;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ecrRepository = new Aws.Ecr.Repository(\"ecr-repository\");\n\n var authToken = Aws.Ecr.GetAuthorizationToken.Invoke(new()\n {\n RegistryId = ecrRepository.RegistryId,\n });\n\n var myImage = new Dockerbuild.Image(\"my-image\", new()\n {\n CacheFrom = new[]\n {\n new Dockerbuild.Inputs.CacheFromArgs\n {\n Registry = new Dockerbuild.Inputs.CacheFromRegistryArgs\n {\n Ref = ecrRepository.RepositoryUrl.Apply(repositoryUrl =\u003e $\"{repositoryUrl}:cache\"),\n },\n },\n },\n CacheTo = new[]\n {\n new Dockerbuild.Inputs.CacheToArgs\n {\n Registry = new Dockerbuild.Inputs.CacheToRegistryArgs\n {\n ImageManifest = true,\n OciMediaTypes = true,\n Ref = ecrRepository.RepositoryUrl.Apply(repositoryUrl =\u003e $\"{repositoryUrl}:cache\"),\n },\n },\n },\n Context = new Dockerbuild.Inputs.BuildContextArgs\n {\n Location = \"./app\",\n },\n Push = true,\n Registries = new[]\n {\n new Dockerbuild.Inputs.RegistryArgs\n {\n Address = ecrRepository.RepositoryUrl,\n Password = authToken.Apply(getAuthorizationTokenResult =\u003e getAuthorizationTokenResult.Password),\n Username = authToken.Apply(getAuthorizationTokenResult =\u003e getAuthorizationTokenResult.UserName),\n },\n },\n Tags = new[]\n {\n ecrRepository.RepositoryUrl.Apply(repositoryUrl =\u003e $\"{repositoryUrl}:latest\"),\n },\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"ref\"] = myImage.Ref,\n };\n});\n\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecr\"\n\t\"github.com/pulumi/pulumi-dockerbuild/sdk/go/dockerbuild\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tecrRepository, err := ecr.NewRepository(ctx, \"ecr-repository\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tauthToken := ecr.GetAuthorizationTokenOutput(ctx, ecr.GetAuthorizationTokenOutputArgs{\n\t\t\tRegistryId: ecrRepository.RegistryId,\n\t\t}, nil)\n\t\tmyImage, err := dockerbuild.NewImage(ctx, \"my-image\", \u0026dockerbuild.ImageArgs{\n\t\t\tCacheFrom: dockerbuild.CacheFromArray{\n\t\t\t\t\u0026dockerbuild.CacheFromArgs{\n\t\t\t\t\tRegistry: \u0026dockerbuild.CacheFromRegistryArgs{\n\t\t\t\t\t\tRef: ecrRepository.RepositoryUrl.ApplyT(func(repositoryUrl string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"%v:cache\", repositoryUrl), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tCacheTo: dockerbuild.CacheToArray{\n\t\t\t\t\u0026dockerbuild.CacheToArgs{\n\t\t\t\t\tRegistry: \u0026dockerbuild.CacheToRegistryArgs{\n\t\t\t\t\t\tImageManifest: pulumi.Bool(true),\n\t\t\t\t\t\tOciMediaTypes: pulumi.Bool(true),\n\t\t\t\t\t\tRef: ecrRepository.RepositoryUrl.ApplyT(func(repositoryUrl string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"%v:cache\", repositoryUrl), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tContext: \u0026dockerbuild.BuildContextArgs{\n\t\t\t\tLocation: pulumi.String(\"./app\"),\n\t\t\t},\n\t\t\tPush: pulumi.Bool(true),\n\t\t\tRegistries: dockerbuild.RegistryArray{\n\t\t\t\t\u0026dockerbuild.RegistryArgs{\n\t\t\t\t\tAddress: ecrRepository.RepositoryUrl,\n\t\t\t\t\tPassword: authToken.ApplyT(func(authToken ecr.GetAuthorizationTokenResult) (*string, error) {\n\t\t\t\t\t\treturn \u0026authToken.Password, nil\n\t\t\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\t\t\tUsername: authToken.ApplyT(func(authToken ecr.GetAuthorizationTokenResult) (*string, error) {\n\t\t\t\t\t\treturn \u0026authToken.UserName, nil\n\t\t\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tecrRepository.RepositoryUrl.ApplyT(func(repositoryUrl string) (string, error) {\n\t\t\t\t\treturn fmt.Sprintf(\"%v:latest\", repositoryUrl), nil\n\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"ref\", myImage.Ref)\n\t\treturn nil\n\t})\n}\n```\n```yaml\ndescription: Push to AWS ECR with caching\nname: ecr\noutputs:\n ref: ${my-image.ref}\nresources:\n ecr-repository:\n type: aws:ecr:Repository\n my-image:\n properties:\n cacheFrom:\n - registry:\n ref: ${ecr-repository.repositoryUrl}:cache\n cacheTo:\n - registry:\n imageManifest: true\n ociMediaTypes: true\n ref: ${ecr-repository.repositoryUrl}:cache\n context:\n location: ./app\n push: true\n registries:\n - address: ${ecr-repository.repositoryUrl}\n password: ${auth-token.password}\n username: ${auth-token.userName}\n tags:\n - ${ecr-repository.repositoryUrl}:latest\n type: dockerbuild:Image\nruntime: yaml\nvariables:\n auth-token:\n fn::aws:ecr:getAuthorizationToken:\n registryId: ${ecr-repository.registryId}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ecr.Repository;\nimport com.pulumi.aws.ecr.EcrFunctions;\nimport com.pulumi.aws.ecr.inputs.GetAuthorizationTokenArgs;\nimport com.pulumi.dockerbuild.Image;\nimport com.pulumi.dockerbuild.ImageArgs;\nimport com.pulumi.dockerbuild.inputs.CacheFromArgs;\nimport com.pulumi.dockerbuild.inputs.CacheFromRegistryArgs;\nimport com.pulumi.dockerbuild.inputs.CacheToArgs;\nimport com.pulumi.dockerbuild.inputs.CacheToRegistryArgs;\nimport com.pulumi.dockerbuild.inputs.BuildContextArgs;\nimport com.pulumi.dockerbuild.inputs.RegistryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var ecrRepository = new Repository(\"ecrRepository\");\n\n final var authToken = EcrFunctions.getAuthorizationToken(GetAuthorizationTokenArgs.builder()\n .registryId(ecrRepository.registryId())\n .build());\n\n var myImage = new Image(\"myImage\", ImageArgs.builder() \n .cacheFrom(CacheFromArgs.builder()\n .registry(CacheFromRegistryArgs.builder()\n .ref(ecrRepository.repositoryUrl().applyValue(repositoryUrl -\u003e String.format(\"%s:cache\", repositoryUrl)))\n .build())\n .build())\n .cacheTo(CacheToArgs.builder()\n .registry(CacheToRegistryArgs.builder()\n .imageManifest(true)\n .ociMediaTypes(true)\n .ref(ecrRepository.repositoryUrl().applyValue(repositoryUrl -\u003e String.format(\"%s:cache\", repositoryUrl)))\n .build())\n .build())\n .context(BuildContextArgs.builder()\n .location(\"./app\")\n .build())\n .push(true)\n .registries(RegistryArgs.builder()\n .address(ecrRepository.repositoryUrl())\n .password(authToken.applyValue(getAuthorizationTokenResult -\u003e getAuthorizationTokenResult).applyValue(authToken -\u003e authToken.applyValue(getAuthorizationTokenResult -\u003e getAuthorizationTokenResult.password())))\n .username(authToken.applyValue(getAuthorizationTokenResult -\u003e getAuthorizationTokenResult).applyValue(authToken -\u003e authToken.applyValue(getAuthorizationTokenResult -\u003e getAuthorizationTokenResult.userName())))\n .build())\n .tags(ecrRepository.repositoryUrl().applyValue(repositoryUrl -\u003e String.format(\"%s:latest\", repositoryUrl)))\n .build());\n\n ctx.export(\"ref\", myImage.ref());\n }\n}\n```\n{{% /example %}}\n{{% example %}}\n### Multi-platform image\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dockerbuild from \"@pulumi/dockerbuild\";\n\nconst image = new dockerbuild.Image(\"image\", {\n context: {\n location: \"app\",\n },\n platforms: [\n dockerbuild.Platform.Plan9_amd64,\n dockerbuild.Platform.Plan9_386,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_dockerbuild as dockerbuild\n\nimage = dockerbuild.Image(\"image\",\n context=dockerbuild.BuildContextArgs(\n location=\"app\",\n ),\n platforms=[\n dockerbuild.Platform.PLAN9_AMD64,\n dockerbuild.Platform.PLAN9_386,\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dockerbuild = Pulumi.Dockerbuild;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var image = new Dockerbuild.Image(\"image\", new()\n {\n Context = new Dockerbuild.Inputs.BuildContextArgs\n {\n Location = \"app\",\n },\n Platforms = new[]\n {\n Dockerbuild.Platform.Plan9_amd64,\n Dockerbuild.Platform.Plan9_386,\n },\n });\n\n});\n\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-dockerbuild/sdk/go/dockerbuild\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := dockerbuild.NewImage(ctx, \"image\", \u0026dockerbuild.ImageArgs{\n\t\t\tContext: \u0026dockerbuild.BuildContextArgs{\n\t\t\t\tLocation: pulumi.String(\"app\"),\n\t\t\t},\n\t\t\tPlatforms: dockerbuild.PlatformArray{\n\t\t\t\tdockerbuild.Platform_Plan9_amd64,\n\t\t\t\tdockerbuild.Platform_Plan9_386,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```yaml\ndescription: Multi-platform image\nname: multi-platform\nresources:\n image:\n properties:\n context:\n location: app\n platforms:\n - plan9/amd64\n - plan9/386\n type: dockerbuild:Image\nruntime: yaml\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.dockerbuild.Image;\nimport com.pulumi.dockerbuild.ImageArgs;\nimport com.pulumi.dockerbuild.inputs.BuildContextArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var image = new Image(\"image\", ImageArgs.builder() \n .context(BuildContextArgs.builder()\n .location(\"app\")\n .build())\n .platforms( \n \"plan9/amd64\",\n \"plan9/386\")\n .build());\n\n }\n}\n```\n{{% /example %}}\n{{% example %}}\n### Registry export\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dockerbuild from \"@pulumi/dockerbuild\";\n\nconst image = new dockerbuild.Image(\"image\", {\n context: {\n location: \"app\",\n },\n push: true,\n registries: [{\n address: \"docker.io\",\n password: dockerHubPassword,\n username: \"pulumibot\",\n }],\n tags: [\"docker.io/pulumi/pulumi:3.107.0\"],\n});\nexport const ref = myImage.ref;\n```\n```python\nimport pulumi\nimport pulumi_dockerbuild as dockerbuild\n\nimage = dockerbuild.Image(\"image\",\n context=dockerbuild.BuildContextArgs(\n location=\"app\",\n ),\n push=True,\n registries=[dockerbuild.RegistryArgs(\n address=\"docker.io\",\n password=docker_hub_password,\n username=\"pulumibot\",\n )],\n tags=[\"docker.io/pulumi/pulumi:3.107.0\"])\npulumi.export(\"ref\", my_image[\"ref\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dockerbuild = Pulumi.Dockerbuild;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var image = new Dockerbuild.Image(\"image\", new()\n {\n Context = new Dockerbuild.Inputs.BuildContextArgs\n {\n Location = \"app\",\n },\n Push = true,\n Registries = new[]\n {\n new Dockerbuild.Inputs.RegistryArgs\n {\n Address = \"docker.io\",\n Password = dockerHubPassword,\n Username = \"pulumibot\",\n },\n },\n Tags = new[]\n {\n \"docker.io/pulumi/pulumi:3.107.0\",\n },\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"ref\"] = myImage.Ref,\n };\n});\n\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-dockerbuild/sdk/go/dockerbuild\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := dockerbuild.NewImage(ctx, \"image\", \u0026dockerbuild.ImageArgs{\n\t\t\tContext: \u0026dockerbuild.BuildContextArgs{\n\t\t\t\tLocation: pulumi.String(\"app\"),\n\t\t\t},\n\t\t\tPush: pulumi.Bool(true),\n\t\t\tRegistries: dockerbuild.RegistryArray{\n\t\t\t\t\u0026dockerbuild.RegistryArgs{\n\t\t\t\t\tAddress: pulumi.String(\"docker.io\"),\n\t\t\t\t\tPassword: pulumi.Any(dockerHubPassword),\n\t\t\t\t\tUsername: pulumi.String(\"pulumibot\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"docker.io/pulumi/pulumi:3.107.0\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"ref\", myImage.Ref)\n\t\treturn nil\n\t})\n}\n```\n```yaml\ndescription: Registry export\nname: registry\noutputs:\n ref: ${my-image.ref}\nresources:\n image:\n properties:\n context:\n location: app\n push: true\n registries:\n - address: docker.io\n password: ${dockerHubPassword}\n username: pulumibot\n tags:\n - docker.io/pulumi/pulumi:3.107.0\n type: dockerbuild:Image\nruntime: yaml\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.dockerbuild.Image;\nimport com.pulumi.dockerbuild.ImageArgs;\nimport com.pulumi.dockerbuild.inputs.BuildContextArgs;\nimport com.pulumi.dockerbuild.inputs.RegistryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var image = new Image(\"image\", ImageArgs.builder() \n .context(BuildContextArgs.builder()\n .location(\"app\")\n .build())\n .push(true)\n .registries(RegistryArgs.builder()\n .address(\"docker.io\")\n .password(dockerHubPassword)\n .username(\"pulumibot\")\n .build())\n .tags(\"docker.io/pulumi/pulumi:3.107.0\")\n .build());\n\n ctx.export(\"ref\", myImage.ref());\n }\n}\n```\n{{% /example %}}\n{{% example %}}\n### Caching\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dockerbuild from \"@pulumi/dockerbuild\";\n\nconst image = new dockerbuild.Image(\"image\", {\n cacheFrom: [{\n local: {\n src: \"tmp/cache\",\n },\n }],\n cacheTo: [{\n local: {\n dest: \"tmp/cache\",\n mode: dockerbuild.CacheMode.Max,\n },\n }],\n context: {\n location: \"app\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_dockerbuild as dockerbuild\n\nimage = dockerbuild.Image(\"image\",\n cache_from=[dockerbuild.CacheFromArgs(\n local=dockerbuild.CacheFromLocalArgs(\n src=\"tmp/cache\",\n ),\n )],\n cache_to=[dockerbuild.CacheToArgs(\n local=dockerbuild.CacheToLocalArgs(\n dest=\"tmp/cache\",\n mode=dockerbuild.CacheMode.MAX,\n ),\n )],\n context=dockerbuild.BuildContextArgs(\n location=\"app\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dockerbuild = Pulumi.Dockerbuild;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var image = new Dockerbuild.Image(\"image\", new()\n {\n CacheFrom = new[]\n {\n new Dockerbuild.Inputs.CacheFromArgs\n {\n Local = new Dockerbuild.Inputs.CacheFromLocalArgs\n {\n Src = \"tmp/cache\",\n },\n },\n },\n CacheTo = new[]\n {\n new Dockerbuild.Inputs.CacheToArgs\n {\n Local = new Dockerbuild.Inputs.CacheToLocalArgs\n {\n Dest = \"tmp/cache\",\n Mode = Dockerbuild.CacheMode.Max,\n },\n },\n },\n Context = new Dockerbuild.Inputs.BuildContextArgs\n {\n Location = \"app\",\n },\n });\n\n});\n\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-dockerbuild/sdk/go/dockerbuild\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := dockerbuild.NewImage(ctx, \"image\", \u0026dockerbuild.ImageArgs{\n\t\t\tCacheFrom: dockerbuild.CacheFromArray{\n\t\t\t\t\u0026dockerbuild.CacheFromArgs{\n\t\t\t\t\tLocal: \u0026dockerbuild.CacheFromLocalArgs{\n\t\t\t\t\t\tSrc: pulumi.String(\"tmp/cache\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tCacheTo: dockerbuild.CacheToArray{\n\t\t\t\t\u0026dockerbuild.CacheToArgs{\n\t\t\t\t\tLocal: \u0026dockerbuild.CacheToLocalArgs{\n\t\t\t\t\t\tDest: pulumi.String(\"tmp/cache\"),\n\t\t\t\t\t\tMode: dockerbuild.CacheModeMax,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tContext: \u0026dockerbuild.BuildContextArgs{\n\t\t\t\tLocation: pulumi.String(\"app\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```yaml\ndescription: Caching\nname: caching\nresources:\n image:\n properties:\n cacheFrom:\n - local:\n src: tmp/cache\n cacheTo:\n - local:\n dest: tmp/cache\n mode: max\n context:\n location: app\n type: dockerbuild:Image\nruntime: yaml\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.dockerbuild.Image;\nimport com.pulumi.dockerbuild.ImageArgs;\nimport com.pulumi.dockerbuild.inputs.CacheFromArgs;\nimport com.pulumi.dockerbuild.inputs.CacheFromLocalArgs;\nimport com.pulumi.dockerbuild.inputs.CacheToArgs;\nimport com.pulumi.dockerbuild.inputs.CacheToLocalArgs;\nimport com.pulumi.dockerbuild.inputs.BuildContextArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var image = new Image(\"image\", ImageArgs.builder() \n .cacheFrom(CacheFromArgs.builder()\n .local(CacheFromLocalArgs.builder()\n .src(\"tmp/cache\")\n .build())\n .build())\n .cacheTo(CacheToArgs.builder()\n .local(CacheToLocalArgs.builder()\n .dest(\"tmp/cache\")\n .mode(\"max\")\n .build())\n .build())\n .context(BuildContextArgs.builder()\n .location(\"app\")\n .build())\n .build());\n\n }\n}\n```\n{{% /example %}}\n{{% example %}}\n### Docker Build Cloud\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dockerbuild from \"@pulumi/dockerbuild\";\n\nconst image = new dockerbuild.Image(\"image\", {\n builder: {\n name: \"cloud-builder-name\",\n },\n context: {\n location: \"app\",\n },\n exec: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_dockerbuild as dockerbuild\n\nimage = dockerbuild.Image(\"image\",\n builder=dockerbuild.BuilderConfigArgs(\n name=\"cloud-builder-name\",\n ),\n context=dockerbuild.BuildContextArgs(\n location=\"app\",\n ),\n exec_=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dockerbuild = Pulumi.Dockerbuild;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var image = new Dockerbuild.Image(\"image\", new()\n {\n Builder = new Dockerbuild.Inputs.BuilderConfigArgs\n {\n Name = \"cloud-builder-name\",\n },\n Context = new Dockerbuild.Inputs.BuildContextArgs\n {\n Location = \"app\",\n },\n Exec = true,\n });\n\n});\n\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-dockerbuild/sdk/go/dockerbuild\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := dockerbuild.NewImage(ctx, \"image\", \u0026dockerbuild.ImageArgs{\n\t\t\tBuilder: \u0026dockerbuild.BuilderConfigArgs{\n\t\t\t\tName: pulumi.String(\"cloud-builder-name\"),\n\t\t\t},\n\t\t\tContext: \u0026dockerbuild.BuildContextArgs{\n\t\t\t\tLocation: pulumi.String(\"app\"),\n\t\t\t},\n\t\t\tExec: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```yaml\ndescription: Docker Build Cloud\nname: dbc\nresources:\n image:\n properties:\n builder:\n name: cloud-builder-name\n context:\n location: app\n exec: true\n type: dockerbuild:Image\nruntime: yaml\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.dockerbuild.Image;\nimport com.pulumi.dockerbuild.ImageArgs;\nimport com.pulumi.dockerbuild.inputs.BuilderConfigArgs;\nimport com.pulumi.dockerbuild.inputs.BuildContextArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var image = new Image(\"image\", ImageArgs.builder() \n .builder(BuilderConfigArgs.builder()\n .name(\"cloud-builder-name\")\n .build())\n .context(BuildContextArgs.builder()\n .location(\"app\")\n .build())\n .exec(true)\n .build());\n\n }\n}\n```\n{{% /example %}}\n{{% example %}}\n### Build arguments\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dockerbuild from \"@pulumi/dockerbuild\";\n\nconst image = new dockerbuild.Image(\"image\", {\n buildArgs: {\n SET_ME_TO_TRUE: \"true\",\n },\n context: {\n location: \"app\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_dockerbuild as dockerbuild\n\nimage = dockerbuild.Image(\"image\",\n build_args={\n \"SET_ME_TO_TRUE\": \"true\",\n },\n context=dockerbuild.BuildContextArgs(\n location=\"app\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dockerbuild = Pulumi.Dockerbuild;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var image = new Dockerbuild.Image(\"image\", new()\n {\n BuildArgs = \n {\n { \"SET_ME_TO_TRUE\", \"true\" },\n },\n Context = new Dockerbuild.Inputs.BuildContextArgs\n {\n Location = \"app\",\n },\n });\n\n});\n\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-dockerbuild/sdk/go/dockerbuild\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := dockerbuild.NewImage(ctx, \"image\", \u0026dockerbuild.ImageArgs{\n\t\t\tBuildArgs: pulumi.StringMap{\n\t\t\t\t\"SET_ME_TO_TRUE\": pulumi.String(\"true\"),\n\t\t\t},\n\t\t\tContext: \u0026dockerbuild.BuildContextArgs{\n\t\t\t\tLocation: pulumi.String(\"app\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```yaml\ndescription: Build arguments\nname: build-args\nresources:\n image:\n properties:\n buildArgs:\n SET_ME_TO_TRUE: \"true\"\n context:\n location: app\n type: dockerbuild:Image\nruntime: yaml\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.dockerbuild.Image;\nimport com.pulumi.dockerbuild.ImageArgs;\nimport com.pulumi.dockerbuild.inputs.BuildContextArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var image = new Image(\"image\", ImageArgs.builder() \n .buildArgs(Map.of(\"SET_ME_TO_TRUE\", \"true\"))\n .context(BuildContextArgs.builder()\n .location(\"app\")\n .build())\n .build());\n\n }\n}\n```\n{{% /example %}}\n{{% example %}}\n### Build target\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dockerbuild from \"@pulumi/dockerbuild\";\n\nconst image = new dockerbuild.Image(\"image\", {\n context: {\n location: \"app\",\n },\n target: \"build-me\",\n});\n```\n```python\nimport pulumi\nimport pulumi_dockerbuild as dockerbuild\n\nimage = dockerbuild.Image(\"image\",\n context=dockerbuild.BuildContextArgs(\n location=\"app\",\n ),\n target=\"build-me\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dockerbuild = Pulumi.Dockerbuild;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var image = new Dockerbuild.Image(\"image\", new()\n {\n Context = new Dockerbuild.Inputs.BuildContextArgs\n {\n Location = \"app\",\n },\n Target = \"build-me\",\n });\n\n});\n\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-dockerbuild/sdk/go/dockerbuild\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := dockerbuild.NewImage(ctx, \"image\", \u0026dockerbuild.ImageArgs{\n\t\t\tContext: \u0026dockerbuild.BuildContextArgs{\n\t\t\t\tLocation: pulumi.String(\"app\"),\n\t\t\t},\n\t\t\tTarget: pulumi.String(\"build-me\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```yaml\ndescription: Build target\nname: build-target\nresources:\n image:\n properties:\n context:\n location: app\n target: build-me\n type: dockerbuild:Image\nruntime: yaml\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.dockerbuild.Image;\nimport com.pulumi.dockerbuild.ImageArgs;\nimport com.pulumi.dockerbuild.inputs.BuildContextArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var image = new Image(\"image\", ImageArgs.builder() \n .context(BuildContextArgs.builder()\n .location(\"app\")\n .build())\n .target(\"build-me\")\n .build());\n\n }\n}\n```\n{{% /example %}}\n{{% example %}}\n### Named contexts\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dockerbuild from \"@pulumi/dockerbuild\";\n\nconst image = new dockerbuild.Image(\"image\", {context: {\n location: \"app\",\n named: {\n \"golang:latest\": {\n location: \"docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984\",\n },\n },\n}});\n```\n```python\nimport pulumi\nimport pulumi_dockerbuild as dockerbuild\n\nimage = dockerbuild.Image(\"image\", context=dockerbuild.BuildContextArgs(\n location=\"app\",\n named={\n \"golang:latest\": dockerbuild.ContextArgs(\n location=\"docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984\",\n ),\n },\n))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dockerbuild = Pulumi.Dockerbuild;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var image = new Dockerbuild.Image(\"image\", new()\n {\n Context = new Dockerbuild.Inputs.BuildContextArgs\n {\n Location = \"app\",\n Named = \n {\n { \"golang:latest\", new Dockerbuild.Inputs.ContextArgs\n {\n Location = \"docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984\",\n } },\n },\n },\n });\n\n});\n\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-dockerbuild/sdk/go/dockerbuild\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := dockerbuild.NewImage(ctx, \"image\", \u0026dockerbuild.ImageArgs{\n\t\t\tContext: \u0026dockerbuild.BuildContextArgs{\n\t\t\t\tLocation: pulumi.String(\"app\"),\n\t\t\t\tNamed: dockerbuild.ContextMap{\n\t\t\t\t\t\"golang:latest\": \u0026dockerbuild.ContextArgs{\n\t\t\t\t\t\tLocation: pulumi.String(\"docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```yaml\ndescription: Named contexts\nname: named-contexts\nresources:\n image:\n properties:\n context:\n location: app\n named:\n golang:latest:\n location: docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984\n type: dockerbuild:Image\nruntime: yaml\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.dockerbuild.Image;\nimport com.pulumi.dockerbuild.ImageArgs;\nimport com.pulumi.dockerbuild.inputs.BuildContextArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var image = new Image(\"image\", ImageArgs.builder() \n .context(BuildContextArgs.builder()\n .location(\"app\")\n .named(Map.of(\"golang:latest\", Map.of(\"location\", \"docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984\")))\n .build())\n .build());\n\n }\n}\n```\n{{% /example %}}\n{{% example %}}\n### Remote context\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dockerbuild from \"@pulumi/dockerbuild\";\n\nconst image = new dockerbuild.Image(\"image\", {context: {\n location: \"https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile\",\n}});\n```\n```python\nimport pulumi\nimport pulumi_dockerbuild as dockerbuild\n\nimage = dockerbuild.Image(\"image\", context=dockerbuild.BuildContextArgs(\n location=\"https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile\",\n))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dockerbuild = Pulumi.Dockerbuild;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var image = new Dockerbuild.Image(\"image\", new()\n {\n Context = new Dockerbuild.Inputs.BuildContextArgs\n {\n Location = \"https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile\",\n },\n });\n\n});\n\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-dockerbuild/sdk/go/dockerbuild\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := dockerbuild.NewImage(ctx, \"image\", \u0026dockerbuild.ImageArgs{\n\t\t\tContext: \u0026dockerbuild.BuildContextArgs{\n\t\t\t\tLocation: pulumi.String(\"https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```yaml\ndescription: Remote context\nname: remote-context\nresources:\n image:\n properties:\n context:\n location: https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile\n type: dockerbuild:Image\nruntime: yaml\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.dockerbuild.Image;\nimport com.pulumi.dockerbuild.ImageArgs;\nimport com.pulumi.dockerbuild.inputs.BuildContextArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var image = new Image(\"image\", ImageArgs.builder() \n .context(BuildContextArgs.builder()\n .location(\"https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile\")\n .build())\n .build());\n\n }\n}\n```\n{{% /example %}}\n{{% example %}}\n### Inline Dockerfile\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dockerbuild from \"@pulumi/dockerbuild\";\n\nconst image = new dockerbuild.Image(\"image\", {\n context: {\n location: \"app\",\n },\n dockerfile: {\n inline: `FROM busybox\nCOPY hello.c ./\n`,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_dockerbuild as dockerbuild\n\nimage = dockerbuild.Image(\"image\",\n context=dockerbuild.BuildContextArgs(\n location=\"app\",\n ),\n dockerfile=dockerbuild.DockerfileArgs(\n inline=\"\"\"FROM busybox\nCOPY hello.c ./\n\"\"\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dockerbuild = Pulumi.Dockerbuild;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var image = new Dockerbuild.Image(\"image\", new()\n {\n Context = new Dockerbuild.Inputs.BuildContextArgs\n {\n Location = \"app\",\n },\n Dockerfile = new Dockerbuild.Inputs.DockerfileArgs\n {\n Inline = @\"FROM busybox\nCOPY hello.c ./\n\",\n },\n });\n\n});\n\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-dockerbuild/sdk/go/dockerbuild\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := dockerbuild.NewImage(ctx, \"image\", \u0026dockerbuild.ImageArgs{\n\t\t\tContext: \u0026dockerbuild.BuildContextArgs{\n\t\t\t\tLocation: pulumi.String(\"app\"),\n\t\t\t},\n\t\t\tDockerfile: \u0026dockerbuild.DockerfileArgs{\n\t\t\t\tInline: pulumi.String(\"FROM busybox\\nCOPY hello.c ./\\n\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```yaml\ndescription: Inline Dockerfile\nname: inline\nresources:\n image:\n properties:\n context:\n location: app\n dockerfile:\n inline: |\n FROM busybox\n COPY hello.c ./\n type: dockerbuild:Image\nruntime: yaml\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.dockerbuild.Image;\nimport com.pulumi.dockerbuild.ImageArgs;\nimport com.pulumi.dockerbuild.inputs.BuildContextArgs;\nimport com.pulumi.dockerbuild.inputs.DockerfileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var image = new Image(\"image\", ImageArgs.builder() \n .context(BuildContextArgs.builder()\n .location(\"app\")\n .build())\n .dockerfile(DockerfileArgs.builder()\n .inline(\"\"\"\nFROM busybox\nCOPY hello.c ./\n \"\"\")\n .build())\n .build());\n\n }\n}\n```\n{{% /example %}}\n{{% example %}}\n### Remote context\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dockerbuild from \"@pulumi/dockerbuild\";\n\nconst image = new dockerbuild.Image(\"image\", {\n context: {\n location: \"https://github.com/docker-library/hello-world.git\",\n },\n dockerfile: {\n location: \"app/Dockerfile\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_dockerbuild as dockerbuild\n\nimage = dockerbuild.Image(\"image\",\n context=dockerbuild.BuildContextArgs(\n location=\"https://github.com/docker-library/hello-world.git\",\n ),\n dockerfile=dockerbuild.DockerfileArgs(\n location=\"app/Dockerfile\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dockerbuild = Pulumi.Dockerbuild;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var image = new Dockerbuild.Image(\"image\", new()\n {\n Context = new Dockerbuild.Inputs.BuildContextArgs\n {\n Location = \"https://github.com/docker-library/hello-world.git\",\n },\n Dockerfile = new Dockerbuild.Inputs.DockerfileArgs\n {\n Location = \"app/Dockerfile\",\n },\n });\n\n});\n\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-dockerbuild/sdk/go/dockerbuild\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := dockerbuild.NewImage(ctx, \"image\", \u0026dockerbuild.ImageArgs{\n\t\t\tContext: \u0026dockerbuild.BuildContextArgs{\n\t\t\t\tLocation: pulumi.String(\"https://github.com/docker-library/hello-world.git\"),\n\t\t\t},\n\t\t\tDockerfile: \u0026dockerbuild.DockerfileArgs{\n\t\t\t\tLocation: pulumi.String(\"app/Dockerfile\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```yaml\ndescription: Remote context\nname: remote-context\nresources:\n image:\n properties:\n context:\n location: https://github.com/docker-library/hello-world.git\n dockerfile:\n location: app/Dockerfile\n type: dockerbuild:Image\nruntime: yaml\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.dockerbuild.Image;\nimport com.pulumi.dockerbuild.ImageArgs;\nimport com.pulumi.dockerbuild.inputs.BuildContextArgs;\nimport com.pulumi.dockerbuild.inputs.DockerfileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var image = new Image(\"image\", ImageArgs.builder() \n .context(BuildContextArgs.builder()\n .location(\"https://github.com/docker-library/hello-world.git\")\n .build())\n .dockerfile(DockerfileArgs.builder()\n .location(\"app/Dockerfile\")\n .build())\n .build());\n\n }\n}\n```\n{{% /example %}}\n{{% example %}}\n### Local export\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as dockerbuild from \"@pulumi/dockerbuild\";\n\nconst image = new dockerbuild.Image(\"image\", {\n context: {\n location: \"app\",\n },\n exports: [{\n docker: {\n tar: true,\n },\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_dockerbuild as dockerbuild\n\nimage = dockerbuild.Image(\"image\",\n context=dockerbuild.BuildContextArgs(\n location=\"app\",\n ),\n exports=[dockerbuild.ExportArgs(\n docker=dockerbuild.ExportDockerArgs(\n tar=True,\n ),\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Dockerbuild = Pulumi.Dockerbuild;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var image = new Dockerbuild.Image(\"image\", new()\n {\n Context = new Dockerbuild.Inputs.BuildContextArgs\n {\n Location = \"app\",\n },\n Exports = new[]\n {\n new Dockerbuild.Inputs.ExportArgs\n {\n Docker = new Dockerbuild.Inputs.ExportDockerArgs\n {\n Tar = true,\n },\n },\n },\n });\n\n});\n\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-dockerbuild/sdk/go/dockerbuild\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := dockerbuild.NewImage(ctx, \"image\", \u0026dockerbuild.ImageArgs{\n\t\t\tContext: \u0026dockerbuild.BuildContextArgs{\n\t\t\t\tLocation: pulumi.String(\"app\"),\n\t\t\t},\n\t\t\tExports: dockerbuild.ExportArray{\n\t\t\t\t\u0026dockerbuild.ExportArgs{\n\t\t\t\t\tDocker: \u0026dockerbuild.ExportDockerArgs{\n\t\t\t\t\t\tTar: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```yaml\ndescription: Local export\nname: docker-load\nresources:\n image:\n properties:\n context:\n location: app\n exports:\n - docker:\n tar: true\n type: dockerbuild:Image\nruntime: yaml\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.dockerbuild.Image;\nimport com.pulumi.dockerbuild.ImageArgs;\nimport com.pulumi.dockerbuild.inputs.BuildContextArgs;\nimport com.pulumi.dockerbuild.inputs.ExportArgs;\nimport com.pulumi.dockerbuild.inputs.ExportDockerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var image = new Image(\"image\", ImageArgs.builder() \n .context(BuildContextArgs.builder()\n .location(\"app\")\n .build())\n .exports(ExportArgs.builder()\n .docker(ExportDockerArgs.builder()\n .tar(true)\n .build())\n .build())\n .build());\n\n }\n}\n```\n{{% /example %}}\n{{% /examples %}}",
+ "description": "A Docker image built using buildx -- Docker's interface to the improved\nBuildKit backend.\n\n## Stability\n\n**This resource is experimental and subject to change.**\n\nAPI types are unstable. Subsequent releases _may_ require manual edits\nto your state file(s) in order to adopt API changes.\n\n`retainOnDelete: true` is recommended with this resource until it is\nstable. This enables future API changes to be adopted more easily by renaming\nresources.\n\nOnly use this resource if you understand and accept the risks.\n\n## Migrating v3 and v4 Image resources\n\nThe `Image` resource provides a superset of functionality over the `Image` resources available in versions 3 and 4 of the Pulumi Docker provider.\nExisting `Image` resources can be converted to the docker-build `Image` resources with minor modifications.\n\n### Behavioral differences\n\nThere are several key behavioral differences to keep in mind when transitioning images to the new `Image` resource.\n\n#### Previews\n\nVersion `3.x` of the Pulumi Docker provider always builds images during preview operations.\nThis is helpful as a safeguard to prevent \"broken\" images from merging, but users found the behavior unnecessarily redundant when running previews and updates locally.\n\nVersion `4.x` changed build-on-preview behavior to be opt-in.\nBy default, `v4.x` `Image` resources do _not_ build during previews, but this behavior can be toggled with the `buildOnPreview` option.\nSome users felt this made previews in CI less helpful because they no longer detected bad images by default.\n\nThe default behavior of the `Image` resource has been changed to strike a better balance between CI use cases and manual updates.\nBy default, Pulumi will now only build `Image` resources during previews when it detects a CI environment like GitHub Actions.\nPreviews run in non-CI environments will not build images.\nThis behavior is still configurable with `buildOnPreview`.\n\n#### Push behavior\n\nVersions `3.x` and `4.x` of the Pulumi Docker provider attempt to push images to remote registries by default.\nThey expose a `skipPush: true` option to disable pushing.\n\nThe `Image` resource matches the Docker CLI's behavior and does not push images anywhere by default.\n\nTo push images to a registry you can include `push: true` (equivalent to Docker's `--push` flag) or configure an `export` of type `registry` (equivalent to Docker's `--output type=registry`).\nLike Docker, if an image is configured without exports you will see a warning with instructions for how to enable pushing, but the build will still proceed normally.\n\n#### Secrets\n\nVersion `3.x` of the Pulumi Docker provider supports secrets by way of the `extraOptions` field.\n\nVersion `4.x` of the Pulumi Docker provider does not support secrets.\n\nThe `Image` resource supports secrets but does not require those secrets to exist on-disk or in environment variables.\nInstead, they should be passed directly as values.\n(Please be sure to familiarize yourself with Pulumi's [native secret handling](https://www.pulumi.com/docs/concepts/secrets/).)\nPulumi also provides [ESC](https://www.pulumi.com/product/esc/) to make it easier to share secrets across stacks and environments.\n\n#### Caching\n\nVersion `3.x` of the Pulumi Docker provider exposes `cacheFrom: bool | { stages: [...] }`.\nIt builds targets individually and pushes them to separate images for caching.\n\nVersion `4.x` exposes a similar parameter `cacheFrom: { images: [...] }` which pushes and pulls inline caches.\n\nBoth versions 3 and 4 require specific environment variables to be set and deviate from Docker's native caching behavior.\nThis can result in inefficient builds due to unnecessary image pulls, repeated file transfers, etc.\n\nThe `Image` resource delegates all caching behavior to Docker.\n`cacheFrom` and `cacheTo` options (equivalent to Docker's `--cache-to` and `--cache-from`) are exposed and provide additional cache targets, such as local disk, S3 storage, etc.\n\n#### Outputs\n\nVersions `3.x` and `4.x` of the provider exposed a `repoDigest` output which was a fully qualified tag with digest.\nIn `4.x` this could also be a single sha256 hash if the image wasn't pushed.\n\nUnlike earlier providers the `Image` resource can push multiple tags.\nAs a convenience, it exposes a `ref` output consisting of a tag with digest as long as the image was pushed.\nIf multiple tags were pushed this uses one at random.\n\nIf you need more control over tag references you can use the `digest` output, which is always a single sha256 hash as long as the image was exported somewhere.\n\n#### Tag deletion and refreshes\n\nVersions 3 and 4 of Pulumi Docker provider do not delete tags when the `Image` resource is deleted, nor do they confirm expected tags exist during `refresh` operations.\n\nThe `buidx.Image` will query your registries during `refresh` to ensure the expected tags exist.\nIf any are missing a subsequent `update` will push them.\n\nWhen a `Image` is deleted, it will _attempt_ to also delete any pushed tags.\nDeletion of remote tags is not guaranteed because not all registries support the manifest `DELETE` API (`docker.io` in particular).\nManifests are _not_ deleted in the same way during updates -- to do so safely would require a full build to determine whether a Pulumi operation should be an update or update-replace.\n\nUse the [`retainOnDelete: true`](https://www.pulumi.com/docs/concepts/options/retainondelete/) option if you do not want tags deleted.\n\n### Example migration\n\nExamples of \"fully-featured\" `v3` and `v4` `Image` resources are shown below, along with an example `Image` resource showing how they would look after migration.\n\nThe `v3` resource leverages `buildx` via a `DOCKER_BUILDKIT` environment variable and CLI flags passed in with `extraOption`.\nAfter migration, the environment variable is no longer needed and CLI flags are now properties on the `Image`.\nIn almost all cases, properties of `Image` are named after the Docker CLI flag they correspond to.\n\nThe `v4` resource is less functional than its `v3` counterpart because it lacks the flexibility of `extraOptions`.\nIt it is shown with parameters similar to the `v3` example for completeness.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### v3/v4 migration\n\n```typescript\n\n// v3 Image\nconst v3 = new docker.Image(\"v3-image\", {\n imageName: \"myregistry.com/user/repo:latest\",\n localImageName: \"local-tag\",\n skipPush: false,\n build: {\n dockerfile: \"./Dockerfile\",\n context: \"../app\",\n target: \"mytarget\",\n args: {\n MY_BUILD_ARG: \"foo\",\n },\n env: {\n DOCKER_BUILDKIT: \"1\",\n },\n extraOptions: [\n \"--cache-from\",\n \"type=registry,myregistry.com/user/repo:cache\",\n \"--cache-to\",\n \"type=registry,myregistry.com/user/repo:cache\",\n \"--add-host\",\n \"metadata.google.internal:169.254.169.254\",\n \"--secret\",\n \"id=mysecret,src=/local/secret\",\n \"--ssh\",\n \"default=/home/runner/.ssh/id_ed25519\",\n \"--network\",\n \"host\",\n \"--platform\",\n \"linux/amd64\",\n ],\n },\n registry: {\n server: \"myregistry.com\",\n username: \"username\",\n password: pulumi.secret(\"password\"),\n },\n});\n\n// v3 Image after migrating to docker-build.Image\nconst v3Migrated = new dockerbuild.Image(\"v3-to-buildx\", {\n tags: [\"myregistry.com/user/repo:latest\", \"local-tag\"],\n push: true,\n dockerfile: {\n location: \"./Dockerfile\",\n },\n context: {\n location: \"../app\",\n },\n targets: [\"mytarget\"],\n buildArgs: {\n MY_BUILD_ARG: \"foo\",\n },\n cacheFrom: [{ registry: { ref: \"myregistry.com/user/repo:cache\" } }],\n cacheTo: [{ registry: { ref: \"myregistry.com/user/repo:cache\" } }],\n secrets: {\n mysecret: \"value\",\n },\n addHosts: [\"metadata.google.internal:169.254.169.254\"],\n ssh: {\n default: [\"/home/runner/.ssh/id_ed25519\"],\n },\n network: \"host\",\n platforms: [\"linux/amd64\"],\n registries: [{\n address: \"myregistry.com\",\n username: \"username\",\n password: pulumi.secret(\"password\"),\n }],\n});\n\n\n// v4 Image\nconst v4 = new docker.Image(\"v4-image\", {\n imageName: \"myregistry.com/user/repo:latest\",\n skipPush: false,\n build: {\n dockerfile: \"./Dockerfile\",\n context: \"../app\",\n target: \"mytarget\",\n args: {\n MY_BUILD_ARG: \"foo\",\n },\n cacheFrom: {\n images: [\"myregistry.com/user/repo:cache\"],\n },\n addHosts: [\"metadata.google.internal:169.254.169.254\"],\n network: \"host\",\n platform: \"linux/amd64\",\n },\n buildOnPreview: true,\n registry: {\n server: \"myregistry.com\",\n username: \"username\",\n password: pulumi.secret(\"password\"),\n },\n});\n\n// v4 Image after migrating to docker-build.Image\nconst v4Migrated = new dockerbuild.Image(\"v4-to-buildx\", {\n tags: [\"myregistry.com/user/repo:latest\"],\n push: true,\n dockerfile: {\n location: \"./Dockerfile\",\n },\n context: {\n location: \"../app\",\n },\n targets: [\"mytarget\"],\n buildArgs: {\n MY_BUILD_ARG: \"foo\",\n },\n cacheFrom: [{ registry: { ref: \"myregistry.com/user/repo:cache\" } }],\n cacheTo: [{ registry: { ref: \"myregistry.com/user/repo:cache\" } }],\n addHosts: [\"metadata.google.internal:169.254.169.254\"],\n network: \"host\",\n platforms: [\"linux/amd64\"],\n registries: [{\n address: \"myregistry.com\",\n username: \"username\",\n password: pulumi.secret(\"password\"),\n }],\n});\n\n```\n\n{{% /example %}}\n\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Push to AWS ECR with caching\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as docker_build from \"@pulumi/docker-build\";\n\nconst ecrRepository = new aws.ecr.Repository(\"ecr-repository\", {});\nconst authToken = aws.ecr.getAuthorizationTokenOutput({\n registryId: ecrRepository.registryId,\n});\nconst myImage = new docker_build.Image(\"my-image\", {\n cacheFrom: [{\n registry: {\n ref: pulumi.interpolate`${ecrRepository.repositoryUrl}:cache`,\n },\n }],\n cacheTo: [{\n registry: {\n imageManifest: true,\n ociMediaTypes: true,\n ref: pulumi.interpolate`${ecrRepository.repositoryUrl}:cache`,\n },\n }],\n context: {\n location: \"./app\",\n },\n push: true,\n registries: [{\n address: ecrRepository.repositoryUrl,\n password: authToken.apply(authToken =\u003e authToken.password),\n username: authToken.apply(authToken =\u003e authToken.userName),\n }],\n tags: [pulumi.interpolate`${ecrRepository.repositoryUrl}:latest`],\n});\nexport const ref = myImage.ref;\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_docker_build as docker_build\n\necr_repository = aws.ecr.Repository(\"ecr-repository\")\nauth_token = aws.ecr.get_authorization_token_output(registry_id=ecr_repository.registry_id)\nmy_image = docker_build.Image(\"my-image\",\n cache_from=[docker_build.CacheFromArgs(\n registry=docker_build.CacheFromRegistryArgs(\n ref=ecr_repository.repository_url.apply(lambda repository_url: f\"{repository_url}:cache\"),\n ),\n )],\n cache_to=[docker_build.CacheToArgs(\n registry=docker_build.CacheToRegistryArgs(\n image_manifest=True,\n oci_media_types=True,\n ref=ecr_repository.repository_url.apply(lambda repository_url: f\"{repository_url}:cache\"),\n ),\n )],\n context=docker_build.BuildContextArgs(\n location=\"./app\",\n ),\n push=True,\n registries=[docker_build.RegistryArgs(\n address=ecr_repository.repository_url,\n password=auth_token.password,\n username=auth_token.user_name,\n )],\n tags=[ecr_repository.repository_url.apply(lambda repository_url: f\"{repository_url}:latest\")])\npulumi.export(\"ref\", my_image.ref)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing DockerBuild = Pulumi.DockerBuild;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ecrRepository = new Aws.Ecr.Repository(\"ecr-repository\");\n\n var authToken = Aws.Ecr.GetAuthorizationToken.Invoke(new()\n {\n RegistryId = ecrRepository.RegistryId,\n });\n\n var myImage = new DockerBuild.Image(\"my-image\", new()\n {\n CacheFrom = new[]\n {\n new DockerBuild.Inputs.CacheFromArgs\n {\n Registry = new DockerBuild.Inputs.CacheFromRegistryArgs\n {\n Ref = ecrRepository.RepositoryUrl.Apply(repositoryUrl =\u003e $\"{repositoryUrl}:cache\"),\n },\n },\n },\n CacheTo = new[]\n {\n new DockerBuild.Inputs.CacheToArgs\n {\n Registry = new DockerBuild.Inputs.CacheToRegistryArgs\n {\n ImageManifest = true,\n OciMediaTypes = true,\n Ref = ecrRepository.RepositoryUrl.Apply(repositoryUrl =\u003e $\"{repositoryUrl}:cache\"),\n },\n },\n },\n Context = new DockerBuild.Inputs.BuildContextArgs\n {\n Location = \"./app\",\n },\n Push = true,\n Registries = new[]\n {\n new DockerBuild.Inputs.RegistryArgs\n {\n Address = ecrRepository.RepositoryUrl,\n Password = authToken.Apply(getAuthorizationTokenResult =\u003e getAuthorizationTokenResult.Password),\n Username = authToken.Apply(getAuthorizationTokenResult =\u003e getAuthorizationTokenResult.UserName),\n },\n },\n Tags = new[]\n {\n ecrRepository.RepositoryUrl.Apply(repositoryUrl =\u003e $\"{repositoryUrl}:latest\"),\n },\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"ref\"] = myImage.Ref,\n };\n});\n\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecr\"\n\t\"github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tecrRepository, err := ecr.NewRepository(ctx, \"ecr-repository\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tauthToken := ecr.GetAuthorizationTokenOutput(ctx, ecr.GetAuthorizationTokenOutputArgs{\n\t\t\tRegistryId: ecrRepository.RegistryId,\n\t\t}, nil)\n\t\tmyImage, err := dockerbuild.NewImage(ctx, \"my-image\", \u0026dockerbuild.ImageArgs{\n\t\t\tCacheFrom: dockerbuild.CacheFromArray{\n\t\t\t\t\u0026dockerbuild.CacheFromArgs{\n\t\t\t\t\tRegistry: \u0026dockerbuild.CacheFromRegistryArgs{\n\t\t\t\t\t\tRef: ecrRepository.RepositoryUrl.ApplyT(func(repositoryUrl string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"%v:cache\", repositoryUrl), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tCacheTo: dockerbuild.CacheToArray{\n\t\t\t\t\u0026dockerbuild.CacheToArgs{\n\t\t\t\t\tRegistry: \u0026dockerbuild.CacheToRegistryArgs{\n\t\t\t\t\t\tImageManifest: pulumi.Bool(true),\n\t\t\t\t\t\tOciMediaTypes: pulumi.Bool(true),\n\t\t\t\t\t\tRef: ecrRepository.RepositoryUrl.ApplyT(func(repositoryUrl string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"%v:cache\", repositoryUrl), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tContext: \u0026dockerbuild.BuildContextArgs{\n\t\t\t\tLocation: pulumi.String(\"./app\"),\n\t\t\t},\n\t\t\tPush: pulumi.Bool(true),\n\t\t\tRegistries: dockerbuild.RegistryArray{\n\t\t\t\t\u0026dockerbuild.RegistryArgs{\n\t\t\t\t\tAddress: ecrRepository.RepositoryUrl,\n\t\t\t\t\tPassword: authToken.ApplyT(func(authToken ecr.GetAuthorizationTokenResult) (*string, error) {\n\t\t\t\t\t\treturn \u0026authToken.Password, nil\n\t\t\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\t\t\tUsername: authToken.ApplyT(func(authToken ecr.GetAuthorizationTokenResult) (*string, error) {\n\t\t\t\t\t\treturn \u0026authToken.UserName, nil\n\t\t\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tecrRepository.RepositoryUrl.ApplyT(func(repositoryUrl string) (string, error) {\n\t\t\t\t\treturn fmt.Sprintf(\"%v:latest\", repositoryUrl), nil\n\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"ref\", myImage.Ref)\n\t\treturn nil\n\t})\n}\n```\n```yaml\ndescription: Push to AWS ECR with caching\nname: ecr\noutputs:\n ref: ${my-image.ref}\nresources:\n ecr-repository:\n type: aws:ecr:Repository\n my-image:\n properties:\n cacheFrom:\n - registry:\n ref: ${ecr-repository.repositoryUrl}:cache\n cacheTo:\n - registry:\n imageManifest: true\n ociMediaTypes: true\n ref: ${ecr-repository.repositoryUrl}:cache\n context:\n location: ./app\n push: true\n registries:\n - address: ${ecr-repository.repositoryUrl}\n password: ${auth-token.password}\n username: ${auth-token.userName}\n tags:\n - ${ecr-repository.repositoryUrl}:latest\n type: docker-build:Image\nruntime: yaml\nvariables:\n auth-token:\n fn::aws:ecr:getAuthorizationToken:\n registryId: ${ecr-repository.registryId}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ecr.Repository;\nimport com.pulumi.aws.ecr.EcrFunctions;\nimport com.pulumi.aws.ecr.inputs.GetAuthorizationTokenArgs;\nimport com.pulumi.dockerbuild.Image;\nimport com.pulumi.dockerbuild.ImageArgs;\nimport com.pulumi.dockerbuild.inputs.CacheFromArgs;\nimport com.pulumi.dockerbuild.inputs.CacheFromRegistryArgs;\nimport com.pulumi.dockerbuild.inputs.CacheToArgs;\nimport com.pulumi.dockerbuild.inputs.CacheToRegistryArgs;\nimport com.pulumi.dockerbuild.inputs.BuildContextArgs;\nimport com.pulumi.dockerbuild.inputs.RegistryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var ecrRepository = new Repository(\"ecrRepository\");\n\n final var authToken = EcrFunctions.getAuthorizationToken(GetAuthorizationTokenArgs.builder()\n .registryId(ecrRepository.registryId())\n .build());\n\n var myImage = new Image(\"myImage\", ImageArgs.builder() \n .cacheFrom(CacheFromArgs.builder()\n .registry(CacheFromRegistryArgs.builder()\n .ref(ecrRepository.repositoryUrl().applyValue(repositoryUrl -\u003e String.format(\"%s:cache\", repositoryUrl)))\n .build())\n .build())\n .cacheTo(CacheToArgs.builder()\n .registry(CacheToRegistryArgs.builder()\n .imageManifest(true)\n .ociMediaTypes(true)\n .ref(ecrRepository.repositoryUrl().applyValue(repositoryUrl -\u003e String.format(\"%s:cache\", repositoryUrl)))\n .build())\n .build())\n .context(BuildContextArgs.builder()\n .location(\"./app\")\n .build())\n .push(true)\n .registries(RegistryArgs.builder()\n .address(ecrRepository.repositoryUrl())\n .password(authToken.applyValue(getAuthorizationTokenResult -\u003e getAuthorizationTokenResult).applyValue(authToken -\u003e authToken.applyValue(getAuthorizationTokenResult -\u003e getAuthorizationTokenResult.password())))\n .username(authToken.applyValue(getAuthorizationTokenResult -\u003e getAuthorizationTokenResult).applyValue(authToken -\u003e authToken.applyValue(getAuthorizationTokenResult -\u003e getAuthorizationTokenResult.userName())))\n .build())\n .tags(ecrRepository.repositoryUrl().applyValue(repositoryUrl -\u003e String.format(\"%s:latest\", repositoryUrl)))\n .build());\n\n ctx.export(\"ref\", myImage.ref());\n }\n}\n```\n{{% /example %}}\n{{% example %}}\n### Multi-platform image\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as docker_build from \"@pulumi/docker-build\";\n\nconst image = new docker_build.Image(\"image\", {\n context: {\n location: \"app\",\n },\n platforms: [\n docker_build.Platform.Plan9_amd64,\n docker_build.Platform.Plan9_386,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_docker_build as docker_build\n\nimage = docker_build.Image(\"image\",\n context=docker_build.BuildContextArgs(\n location=\"app\",\n ),\n platforms=[\n docker_build.Platform.PLAN9_AMD64,\n docker_build.Platform.PLAN9_386,\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DockerBuild = Pulumi.DockerBuild;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var image = new DockerBuild.Image(\"image\", new()\n {\n Context = new DockerBuild.Inputs.BuildContextArgs\n {\n Location = \"app\",\n },\n Platforms = new[]\n {\n DockerBuild.Platform.Plan9_amd64,\n DockerBuild.Platform.Plan9_386,\n },\n });\n\n});\n\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := dockerbuild.NewImage(ctx, \"image\", \u0026dockerbuild.ImageArgs{\n\t\t\tContext: \u0026dockerbuild.BuildContextArgs{\n\t\t\t\tLocation: pulumi.String(\"app\"),\n\t\t\t},\n\t\t\tPlatforms: docker - build.PlatformArray{\n\t\t\t\tdockerbuild.Platform_Plan9_amd64,\n\t\t\t\tdockerbuild.Platform_Plan9_386,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```yaml\ndescription: Multi-platform image\nname: multi-platform\nresources:\n image:\n properties:\n context:\n location: app\n platforms:\n - plan9/amd64\n - plan9/386\n type: docker-build:Image\nruntime: yaml\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.dockerbuild.Image;\nimport com.pulumi.dockerbuild.ImageArgs;\nimport com.pulumi.dockerbuild.inputs.BuildContextArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var image = new Image(\"image\", ImageArgs.builder() \n .context(BuildContextArgs.builder()\n .location(\"app\")\n .build())\n .platforms( \n \"plan9/amd64\",\n \"plan9/386\")\n .build());\n\n }\n}\n```\n{{% /example %}}\n{{% example %}}\n### Registry export\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as docker_build from \"@pulumi/docker-build\";\n\nconst image = new docker_build.Image(\"image\", {\n context: {\n location: \"app\",\n },\n push: true,\n registries: [{\n address: \"docker.io\",\n password: dockerHubPassword,\n username: \"pulumibot\",\n }],\n tags: [\"docker.io/pulumi/pulumi:3.107.0\"],\n});\nexport const ref = myImage.ref;\n```\n```python\nimport pulumi\nimport pulumi_docker_build as docker_build\n\nimage = docker_build.Image(\"image\",\n context=docker_build.BuildContextArgs(\n location=\"app\",\n ),\n push=True,\n registries=[docker_build.RegistryArgs(\n address=\"docker.io\",\n password=docker_hub_password,\n username=\"pulumibot\",\n )],\n tags=[\"docker.io/pulumi/pulumi:3.107.0\"])\npulumi.export(\"ref\", my_image[\"ref\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DockerBuild = Pulumi.DockerBuild;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var image = new DockerBuild.Image(\"image\", new()\n {\n Context = new DockerBuild.Inputs.BuildContextArgs\n {\n Location = \"app\",\n },\n Push = true,\n Registries = new[]\n {\n new DockerBuild.Inputs.RegistryArgs\n {\n Address = \"docker.io\",\n Password = dockerHubPassword,\n Username = \"pulumibot\",\n },\n },\n Tags = new[]\n {\n \"docker.io/pulumi/pulumi:3.107.0\",\n },\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"ref\"] = myImage.Ref,\n };\n});\n\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := dockerbuild.NewImage(ctx, \"image\", \u0026dockerbuild.ImageArgs{\n\t\t\tContext: \u0026dockerbuild.BuildContextArgs{\n\t\t\t\tLocation: pulumi.String(\"app\"),\n\t\t\t},\n\t\t\tPush: pulumi.Bool(true),\n\t\t\tRegistries: dockerbuild.RegistryArray{\n\t\t\t\t\u0026dockerbuild.RegistryArgs{\n\t\t\t\t\tAddress: pulumi.String(\"docker.io\"),\n\t\t\t\t\tPassword: pulumi.Any(dockerHubPassword),\n\t\t\t\t\tUsername: pulumi.String(\"pulumibot\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"docker.io/pulumi/pulumi:3.107.0\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"ref\", myImage.Ref)\n\t\treturn nil\n\t})\n}\n```\n```yaml\ndescription: Registry export\nname: registry\noutputs:\n ref: ${my-image.ref}\nresources:\n image:\n properties:\n context:\n location: app\n push: true\n registries:\n - address: docker.io\n password: ${dockerHubPassword}\n username: pulumibot\n tags:\n - docker.io/pulumi/pulumi:3.107.0\n type: docker-build:Image\nruntime: yaml\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.dockerbuild.Image;\nimport com.pulumi.dockerbuild.ImageArgs;\nimport com.pulumi.dockerbuild.inputs.BuildContextArgs;\nimport com.pulumi.dockerbuild.inputs.RegistryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var image = new Image(\"image\", ImageArgs.builder() \n .context(BuildContextArgs.builder()\n .location(\"app\")\n .build())\n .push(true)\n .registries(RegistryArgs.builder()\n .address(\"docker.io\")\n .password(dockerHubPassword)\n .username(\"pulumibot\")\n .build())\n .tags(\"docker.io/pulumi/pulumi:3.107.0\")\n .build());\n\n ctx.export(\"ref\", myImage.ref());\n }\n}\n```\n{{% /example %}}\n{{% example %}}\n### Caching\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as docker_build from \"@pulumi/docker-build\";\n\nconst image = new docker_build.Image(\"image\", {\n cacheFrom: [{\n local: {\n src: \"tmp/cache\",\n },\n }],\n cacheTo: [{\n local: {\n dest: \"tmp/cache\",\n mode: docker_build.CacheMode.Max,\n },\n }],\n context: {\n location: \"app\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_docker_build as docker_build\n\nimage = docker_build.Image(\"image\",\n cache_from=[docker_build.CacheFromArgs(\n local=docker_build.CacheFromLocalArgs(\n src=\"tmp/cache\",\n ),\n )],\n cache_to=[docker_build.CacheToArgs(\n local=docker_build.CacheToLocalArgs(\n dest=\"tmp/cache\",\n mode=docker_build.CacheMode.MAX,\n ),\n )],\n context=docker_build.BuildContextArgs(\n location=\"app\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DockerBuild = Pulumi.DockerBuild;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var image = new DockerBuild.Image(\"image\", new()\n {\n CacheFrom = new[]\n {\n new DockerBuild.Inputs.CacheFromArgs\n {\n Local = new DockerBuild.Inputs.CacheFromLocalArgs\n {\n Src = \"tmp/cache\",\n },\n },\n },\n CacheTo = new[]\n {\n new DockerBuild.Inputs.CacheToArgs\n {\n Local = new DockerBuild.Inputs.CacheToLocalArgs\n {\n Dest = \"tmp/cache\",\n Mode = DockerBuild.CacheMode.Max,\n },\n },\n },\n Context = new DockerBuild.Inputs.BuildContextArgs\n {\n Location = \"app\",\n },\n });\n\n});\n\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := dockerbuild.NewImage(ctx, \"image\", \u0026dockerbuild.ImageArgs{\n\t\t\tCacheFrom: dockerbuild.CacheFromArray{\n\t\t\t\t\u0026dockerbuild.CacheFromArgs{\n\t\t\t\t\tLocal: \u0026dockerbuild.CacheFromLocalArgs{\n\t\t\t\t\t\tSrc: pulumi.String(\"tmp/cache\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tCacheTo: dockerbuild.CacheToArray{\n\t\t\t\t\u0026dockerbuild.CacheToArgs{\n\t\t\t\t\tLocal: \u0026dockerbuild.CacheToLocalArgs{\n\t\t\t\t\t\tDest: pulumi.String(\"tmp/cache\"),\n\t\t\t\t\t\tMode: dockerbuild.CacheModeMax,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tContext: \u0026dockerbuild.BuildContextArgs{\n\t\t\t\tLocation: pulumi.String(\"app\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```yaml\ndescription: Caching\nname: caching\nresources:\n image:\n properties:\n cacheFrom:\n - local:\n src: tmp/cache\n cacheTo:\n - local:\n dest: tmp/cache\n mode: max\n context:\n location: app\n type: docker-build:Image\nruntime: yaml\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.dockerbuild.Image;\nimport com.pulumi.dockerbuild.ImageArgs;\nimport com.pulumi.dockerbuild.inputs.CacheFromArgs;\nimport com.pulumi.dockerbuild.inputs.CacheFromLocalArgs;\nimport com.pulumi.dockerbuild.inputs.CacheToArgs;\nimport com.pulumi.dockerbuild.inputs.CacheToLocalArgs;\nimport com.pulumi.dockerbuild.inputs.BuildContextArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var image = new Image(\"image\", ImageArgs.builder() \n .cacheFrom(CacheFromArgs.builder()\n .local(CacheFromLocalArgs.builder()\n .src(\"tmp/cache\")\n .build())\n .build())\n .cacheTo(CacheToArgs.builder()\n .local(CacheToLocalArgs.builder()\n .dest(\"tmp/cache\")\n .mode(\"max\")\n .build())\n .build())\n .context(BuildContextArgs.builder()\n .location(\"app\")\n .build())\n .build());\n\n }\n}\n```\n{{% /example %}}\n{{% example %}}\n### Docker Build Cloud\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as docker_build from \"@pulumi/docker-build\";\n\nconst image = new docker_build.Image(\"image\", {\n builder: {\n name: \"cloud-builder-name\",\n },\n context: {\n location: \"app\",\n },\n exec: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_docker_build as docker_build\n\nimage = docker_build.Image(\"image\",\n builder=docker_build.BuilderConfigArgs(\n name=\"cloud-builder-name\",\n ),\n context=docker_build.BuildContextArgs(\n location=\"app\",\n ),\n exec_=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DockerBuild = Pulumi.DockerBuild;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var image = new DockerBuild.Image(\"image\", new()\n {\n Builder = new DockerBuild.Inputs.BuilderConfigArgs\n {\n Name = \"cloud-builder-name\",\n },\n Context = new DockerBuild.Inputs.BuildContextArgs\n {\n Location = \"app\",\n },\n Exec = true,\n });\n\n});\n\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := dockerbuild.NewImage(ctx, \"image\", \u0026dockerbuild.ImageArgs{\n\t\t\tBuilder: \u0026dockerbuild.BuilderConfigArgs{\n\t\t\t\tName: pulumi.String(\"cloud-builder-name\"),\n\t\t\t},\n\t\t\tContext: \u0026dockerbuild.BuildContextArgs{\n\t\t\t\tLocation: pulumi.String(\"app\"),\n\t\t\t},\n\t\t\tExec: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```yaml\ndescription: Docker Build Cloud\nname: dbc\nresources:\n image:\n properties:\n builder:\n name: cloud-builder-name\n context:\n location: app\n exec: true\n type: docker-build:Image\nruntime: yaml\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.dockerbuild.Image;\nimport com.pulumi.dockerbuild.ImageArgs;\nimport com.pulumi.dockerbuild.inputs.BuilderConfigArgs;\nimport com.pulumi.dockerbuild.inputs.BuildContextArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var image = new Image(\"image\", ImageArgs.builder() \n .builder(BuilderConfigArgs.builder()\n .name(\"cloud-builder-name\")\n .build())\n .context(BuildContextArgs.builder()\n .location(\"app\")\n .build())\n .exec(true)\n .build());\n\n }\n}\n```\n{{% /example %}}\n{{% example %}}\n### Build arguments\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as docker_build from \"@pulumi/docker-build\";\n\nconst image = new docker_build.Image(\"image\", {\n buildArgs: {\n SET_ME_TO_TRUE: \"true\",\n },\n context: {\n location: \"app\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_docker_build as docker_build\n\nimage = docker_build.Image(\"image\",\n build_args={\n \"SET_ME_TO_TRUE\": \"true\",\n },\n context=docker_build.BuildContextArgs(\n location=\"app\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DockerBuild = Pulumi.DockerBuild;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var image = new DockerBuild.Image(\"image\", new()\n {\n BuildArgs = \n {\n { \"SET_ME_TO_TRUE\", \"true\" },\n },\n Context = new DockerBuild.Inputs.BuildContextArgs\n {\n Location = \"app\",\n },\n });\n\n});\n\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := dockerbuild.NewImage(ctx, \"image\", \u0026dockerbuild.ImageArgs{\n\t\t\tBuildArgs: pulumi.StringMap{\n\t\t\t\t\"SET_ME_TO_TRUE\": pulumi.String(\"true\"),\n\t\t\t},\n\t\t\tContext: \u0026dockerbuild.BuildContextArgs{\n\t\t\t\tLocation: pulumi.String(\"app\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```yaml\ndescription: Build arguments\nname: build-args\nresources:\n image:\n properties:\n buildArgs:\n SET_ME_TO_TRUE: \"true\"\n context:\n location: app\n type: docker-build:Image\nruntime: yaml\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.dockerbuild.Image;\nimport com.pulumi.dockerbuild.ImageArgs;\nimport com.pulumi.dockerbuild.inputs.BuildContextArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var image = new Image(\"image\", ImageArgs.builder() \n .buildArgs(Map.of(\"SET_ME_TO_TRUE\", \"true\"))\n .context(BuildContextArgs.builder()\n .location(\"app\")\n .build())\n .build());\n\n }\n}\n```\n{{% /example %}}\n{{% example %}}\n### Build target\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as docker_build from \"@pulumi/docker-build\";\n\nconst image = new docker_build.Image(\"image\", {\n context: {\n location: \"app\",\n },\n target: \"build-me\",\n});\n```\n```python\nimport pulumi\nimport pulumi_docker_build as docker_build\n\nimage = docker_build.Image(\"image\",\n context=docker_build.BuildContextArgs(\n location=\"app\",\n ),\n target=\"build-me\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DockerBuild = Pulumi.DockerBuild;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var image = new DockerBuild.Image(\"image\", new()\n {\n Context = new DockerBuild.Inputs.BuildContextArgs\n {\n Location = \"app\",\n },\n Target = \"build-me\",\n });\n\n});\n\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := dockerbuild.NewImage(ctx, \"image\", \u0026dockerbuild.ImageArgs{\n\t\t\tContext: \u0026dockerbuild.BuildContextArgs{\n\t\t\t\tLocation: pulumi.String(\"app\"),\n\t\t\t},\n\t\t\tTarget: pulumi.String(\"build-me\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```yaml\ndescription: Build target\nname: build-target\nresources:\n image:\n properties:\n context:\n location: app\n target: build-me\n type: docker-build:Image\nruntime: yaml\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.dockerbuild.Image;\nimport com.pulumi.dockerbuild.ImageArgs;\nimport com.pulumi.dockerbuild.inputs.BuildContextArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var image = new Image(\"image\", ImageArgs.builder() \n .context(BuildContextArgs.builder()\n .location(\"app\")\n .build())\n .target(\"build-me\")\n .build());\n\n }\n}\n```\n{{% /example %}}\n{{% example %}}\n### Named contexts\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as docker_build from \"@pulumi/docker-build\";\n\nconst image = new docker_build.Image(\"image\", {context: {\n location: \"app\",\n named: {\n \"golang:latest\": {\n location: \"docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984\",\n },\n },\n}});\n```\n```python\nimport pulumi\nimport pulumi_docker_build as docker_build\n\nimage = docker_build.Image(\"image\", context=docker_build.BuildContextArgs(\n location=\"app\",\n named={\n \"golang:latest\": docker_build.ContextArgs(\n location=\"docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984\",\n ),\n },\n))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DockerBuild = Pulumi.DockerBuild;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var image = new DockerBuild.Image(\"image\", new()\n {\n Context = new DockerBuild.Inputs.BuildContextArgs\n {\n Location = \"app\",\n Named = \n {\n { \"golang:latest\", new DockerBuild.Inputs.ContextArgs\n {\n Location = \"docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984\",\n } },\n },\n },\n });\n\n});\n\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := dockerbuild.NewImage(ctx, \"image\", \u0026dockerbuild.ImageArgs{\n\t\t\tContext: \u0026dockerbuild.BuildContextArgs{\n\t\t\t\tLocation: pulumi.String(\"app\"),\n\t\t\t\tNamed: dockerbuild.ContextMap{\n\t\t\t\t\t\"golang:latest\": \u0026dockerbuild.ContextArgs{\n\t\t\t\t\t\tLocation: pulumi.String(\"docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```yaml\ndescription: Named contexts\nname: named-contexts\nresources:\n image:\n properties:\n context:\n location: app\n named:\n golang:latest:\n location: docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984\n type: docker-build:Image\nruntime: yaml\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.dockerbuild.Image;\nimport com.pulumi.dockerbuild.ImageArgs;\nimport com.pulumi.dockerbuild.inputs.BuildContextArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var image = new Image(\"image\", ImageArgs.builder() \n .context(BuildContextArgs.builder()\n .location(\"app\")\n .named(Map.of(\"golang:latest\", Map.of(\"location\", \"docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984\")))\n .build())\n .build());\n\n }\n}\n```\n{{% /example %}}\n{{% example %}}\n### Remote context\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as docker_build from \"@pulumi/docker-build\";\n\nconst image = new docker_build.Image(\"image\", {context: {\n location: \"https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile\",\n}});\n```\n```python\nimport pulumi\nimport pulumi_docker_build as docker_build\n\nimage = docker_build.Image(\"image\", context=docker_build.BuildContextArgs(\n location=\"https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile\",\n))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DockerBuild = Pulumi.DockerBuild;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var image = new DockerBuild.Image(\"image\", new()\n {\n Context = new DockerBuild.Inputs.BuildContextArgs\n {\n Location = \"https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile\",\n },\n });\n\n});\n\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := dockerbuild.NewImage(ctx, \"image\", \u0026dockerbuild.ImageArgs{\n\t\t\tContext: \u0026dockerbuild.BuildContextArgs{\n\t\t\t\tLocation: pulumi.String(\"https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```yaml\ndescription: Remote context\nname: remote-context\nresources:\n image:\n properties:\n context:\n location: https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile\n type: docker-build:Image\nruntime: yaml\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.dockerbuild.Image;\nimport com.pulumi.dockerbuild.ImageArgs;\nimport com.pulumi.dockerbuild.inputs.BuildContextArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var image = new Image(\"image\", ImageArgs.builder() \n .context(BuildContextArgs.builder()\n .location(\"https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile\")\n .build())\n .build());\n\n }\n}\n```\n{{% /example %}}\n{{% example %}}\n### Inline Dockerfile\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as docker_build from \"@pulumi/docker-build\";\n\nconst image = new docker_build.Image(\"image\", {\n context: {\n location: \"app\",\n },\n dockerfile: {\n inline: `FROM busybox\nCOPY hello.c ./\n`,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_docker_build as docker_build\n\nimage = docker_build.Image(\"image\",\n context=docker_build.BuildContextArgs(\n location=\"app\",\n ),\n dockerfile=docker_build.DockerfileArgs(\n inline=\"\"\"FROM busybox\nCOPY hello.c ./\n\"\"\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DockerBuild = Pulumi.DockerBuild;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var image = new DockerBuild.Image(\"image\", new()\n {\n Context = new DockerBuild.Inputs.BuildContextArgs\n {\n Location = \"app\",\n },\n Dockerfile = new DockerBuild.Inputs.DockerfileArgs\n {\n Inline = @\"FROM busybox\nCOPY hello.c ./\n\",\n },\n });\n\n});\n\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := dockerbuild.NewImage(ctx, \"image\", \u0026dockerbuild.ImageArgs{\n\t\t\tContext: \u0026dockerbuild.BuildContextArgs{\n\t\t\t\tLocation: pulumi.String(\"app\"),\n\t\t\t},\n\t\t\tDockerfile: \u0026dockerbuild.DockerfileArgs{\n\t\t\t\tInline: pulumi.String(\"FROM busybox\\nCOPY hello.c ./\\n\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```yaml\ndescription: Inline Dockerfile\nname: inline\nresources:\n image:\n properties:\n context:\n location: app\n dockerfile:\n inline: |\n FROM busybox\n COPY hello.c ./\n type: docker-build:Image\nruntime: yaml\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.dockerbuild.Image;\nimport com.pulumi.dockerbuild.ImageArgs;\nimport com.pulumi.dockerbuild.inputs.BuildContextArgs;\nimport com.pulumi.dockerbuild.inputs.DockerfileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var image = new Image(\"image\", ImageArgs.builder() \n .context(BuildContextArgs.builder()\n .location(\"app\")\n .build())\n .dockerfile(DockerfileArgs.builder()\n .inline(\"\"\"\nFROM busybox\nCOPY hello.c ./\n \"\"\")\n .build())\n .build());\n\n }\n}\n```\n{{% /example %}}\n{{% example %}}\n### Remote context\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as docker_build from \"@pulumi/docker-build\";\n\nconst image = new docker_build.Image(\"image\", {\n context: {\n location: \"https://github.com/docker-library/hello-world.git\",\n },\n dockerfile: {\n location: \"app/Dockerfile\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_docker_build as docker_build\n\nimage = docker_build.Image(\"image\",\n context=docker_build.BuildContextArgs(\n location=\"https://github.com/docker-library/hello-world.git\",\n ),\n dockerfile=docker_build.DockerfileArgs(\n location=\"app/Dockerfile\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DockerBuild = Pulumi.DockerBuild;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var image = new DockerBuild.Image(\"image\", new()\n {\n Context = new DockerBuild.Inputs.BuildContextArgs\n {\n Location = \"https://github.com/docker-library/hello-world.git\",\n },\n Dockerfile = new DockerBuild.Inputs.DockerfileArgs\n {\n Location = \"app/Dockerfile\",\n },\n });\n\n});\n\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := dockerbuild.NewImage(ctx, \"image\", \u0026dockerbuild.ImageArgs{\n\t\t\tContext: \u0026dockerbuild.BuildContextArgs{\n\t\t\t\tLocation: pulumi.String(\"https://github.com/docker-library/hello-world.git\"),\n\t\t\t},\n\t\t\tDockerfile: \u0026dockerbuild.DockerfileArgs{\n\t\t\t\tLocation: pulumi.String(\"app/Dockerfile\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```yaml\ndescription: Remote context\nname: remote-context\nresources:\n image:\n properties:\n context:\n location: https://github.com/docker-library/hello-world.git\n dockerfile:\n location: app/Dockerfile\n type: docker-build:Image\nruntime: yaml\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.dockerbuild.Image;\nimport com.pulumi.dockerbuild.ImageArgs;\nimport com.pulumi.dockerbuild.inputs.BuildContextArgs;\nimport com.pulumi.dockerbuild.inputs.DockerfileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var image = new Image(\"image\", ImageArgs.builder() \n .context(BuildContextArgs.builder()\n .location(\"https://github.com/docker-library/hello-world.git\")\n .build())\n .dockerfile(DockerfileArgs.builder()\n .location(\"app/Dockerfile\")\n .build())\n .build());\n\n }\n}\n```\n{{% /example %}}\n{{% example %}}\n### Local export\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as docker_build from \"@pulumi/docker-build\";\n\nconst image = new docker_build.Image(\"image\", {\n context: {\n location: \"app\",\n },\n exports: [{\n docker: {\n tar: true,\n },\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_docker_build as docker_build\n\nimage = docker_build.Image(\"image\",\n context=docker_build.BuildContextArgs(\n location=\"app\",\n ),\n exports=[docker_build.ExportArgs(\n docker=docker_build.ExportDockerArgs(\n tar=True,\n ),\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DockerBuild = Pulumi.DockerBuild;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var image = new DockerBuild.Image(\"image\", new()\n {\n Context = new DockerBuild.Inputs.BuildContextArgs\n {\n Location = \"app\",\n },\n Exports = new[]\n {\n new DockerBuild.Inputs.ExportArgs\n {\n Docker = new DockerBuild.Inputs.ExportDockerArgs\n {\n Tar = true,\n },\n },\n },\n });\n\n});\n\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := dockerbuild.NewImage(ctx, \"image\", \u0026dockerbuild.ImageArgs{\n\t\t\tContext: \u0026dockerbuild.BuildContextArgs{\n\t\t\t\tLocation: pulumi.String(\"app\"),\n\t\t\t},\n\t\t\tExports: dockerbuild.ExportArray{\n\t\t\t\t\u0026dockerbuild.ExportArgs{\n\t\t\t\t\tDocker: \u0026dockerbuild.ExportDockerArgs{\n\t\t\t\t\t\tTar: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```yaml\ndescription: Local export\nname: docker-load\nresources:\n image:\n properties:\n context:\n location: app\n exports:\n - docker:\n tar: true\n type: docker-build:Image\nruntime: yaml\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.dockerbuild.Image;\nimport com.pulumi.dockerbuild.ImageArgs;\nimport com.pulumi.dockerbuild.inputs.BuildContextArgs;\nimport com.pulumi.dockerbuild.inputs.ExportArgs;\nimport com.pulumi.dockerbuild.inputs.ExportDockerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var image = new Image(\"image\", ImageArgs.builder() \n .context(BuildContextArgs.builder()\n .location(\"app\")\n .build())\n .exports(ExportArgs.builder()\n .docker(ExportDockerArgs.builder()\n .tar(true)\n .build())\n .build())\n .build());\n\n }\n}\n```\n{{% /example %}}\n{{% /examples %}}",
"properties": {
"addHosts": {
"type": "array",
diff --git a/provider/internal/embed/image-examples.md b/provider/internal/embed/image-examples.md
index a70cb7d..99a44f5 100644
--- a/provider/internal/embed/image-examples.md
+++ b/provider/internal/embed/image-examples.md
@@ -6,13 +6,13 @@
```typescript
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
-import * as dockerbuild from "@pulumi/dockerbuild";
+import * as docker_build from "@pulumi/docker-build";
const ecrRepository = new aws.ecr.Repository("ecr-repository", {});
const authToken = aws.ecr.getAuthorizationTokenOutput({
registryId: ecrRepository.registryId,
});
-const myImage = new dockerbuild.Image("my-image", {
+const myImage = new docker_build.Image("my-image", {
cacheFrom: [{
registry: {
ref: pulumi.interpolate`${ecrRepository.repositoryUrl}:cache`,
@@ -41,28 +41,28 @@ export const ref = myImage.ref;
```python
import pulumi
import pulumi_aws as aws
-import pulumi_dockerbuild as dockerbuild
+import pulumi_docker_build as docker_build
ecr_repository = aws.ecr.Repository("ecr-repository")
auth_token = aws.ecr.get_authorization_token_output(registry_id=ecr_repository.registry_id)
-my_image = dockerbuild.Image("my-image",
- cache_from=[dockerbuild.CacheFromArgs(
- registry=dockerbuild.CacheFromRegistryArgs(
+my_image = docker_build.Image("my-image",
+ cache_from=[docker_build.CacheFromArgs(
+ registry=docker_build.CacheFromRegistryArgs(
ref=ecr_repository.repository_url.apply(lambda repository_url: f"{repository_url}:cache"),
),
)],
- cache_to=[dockerbuild.CacheToArgs(
- registry=dockerbuild.CacheToRegistryArgs(
+ cache_to=[docker_build.CacheToArgs(
+ registry=docker_build.CacheToRegistryArgs(
image_manifest=True,
oci_media_types=True,
ref=ecr_repository.repository_url.apply(lambda repository_url: f"{repository_url}:cache"),
),
)],
- context=dockerbuild.BuildContextArgs(
+ context=docker_build.BuildContextArgs(
location="./app",
),
push=True,
- registries=[dockerbuild.RegistryArgs(
+ registries=[docker_build.RegistryArgs(
address=ecr_repository.repository_url,
password=auth_token.password,
username=auth_token.user_name,
@@ -75,7 +75,7 @@ using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
-using Dockerbuild = Pulumi.Dockerbuild;
+using DockerBuild = Pulumi.DockerBuild;
return await Deployment.RunAsync(() =>
{
@@ -86,13 +86,13 @@ return await Deployment.RunAsync(() =>
RegistryId = ecrRepository.RegistryId,
});
- var myImage = new Dockerbuild.Image("my-image", new()
+ var myImage = new DockerBuild.Image("my-image", new()
{
CacheFrom = new[]
{
- new Dockerbuild.Inputs.CacheFromArgs
+ new DockerBuild.Inputs.CacheFromArgs
{
- Registry = new Dockerbuild.Inputs.CacheFromRegistryArgs
+ Registry = new DockerBuild.Inputs.CacheFromRegistryArgs
{
Ref = ecrRepository.RepositoryUrl.Apply(repositoryUrl => $"{repositoryUrl}:cache"),
},
@@ -100,9 +100,9 @@ return await Deployment.RunAsync(() =>
},
CacheTo = new[]
{
- new Dockerbuild.Inputs.CacheToArgs
+ new DockerBuild.Inputs.CacheToArgs
{
- Registry = new Dockerbuild.Inputs.CacheToRegistryArgs
+ Registry = new DockerBuild.Inputs.CacheToRegistryArgs
{
ImageManifest = true,
OciMediaTypes = true,
@@ -110,14 +110,14 @@ return await Deployment.RunAsync(() =>
},
},
},
- Context = new Dockerbuild.Inputs.BuildContextArgs
+ Context = new DockerBuild.Inputs.BuildContextArgs
{
Location = "./app",
},
Push = true,
Registries = new[]
{
- new Dockerbuild.Inputs.RegistryArgs
+ new DockerBuild.Inputs.RegistryArgs
{
Address = ecrRepository.RepositoryUrl,
Password = authToken.Apply(getAuthorizationTokenResult => getAuthorizationTokenResult.Password),
@@ -144,7 +144,7 @@ import (
"fmt"
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecr"
- "github.com/pulumi/pulumi-dockerbuild/sdk/go/dockerbuild"
+ "github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
@@ -234,7 +234,7 @@ resources:
username: ${auth-token.userName}
tags:
- ${ecr-repository.repositoryUrl}:latest
- type: dockerbuild:Image
+ type: docker-build:Image
runtime: yaml
variables:
auth-token:
@@ -312,49 +312,49 @@ public class App {
```typescript
import * as pulumi from "@pulumi/pulumi";
-import * as dockerbuild from "@pulumi/dockerbuild";
+import * as docker_build from "@pulumi/docker-build";
-const image = new dockerbuild.Image("image", {
+const image = new docker_build.Image("image", {
context: {
location: "app",
},
platforms: [
- dockerbuild.Platform.Plan9_amd64,
- dockerbuild.Platform.Plan9_386,
+ docker_build.Platform.Plan9_amd64,
+ docker_build.Platform.Plan9_386,
],
});
```
```python
import pulumi
-import pulumi_dockerbuild as dockerbuild
+import pulumi_docker_build as docker_build
-image = dockerbuild.Image("image",
- context=dockerbuild.BuildContextArgs(
+image = docker_build.Image("image",
+ context=docker_build.BuildContextArgs(
location="app",
),
platforms=[
- dockerbuild.Platform.PLAN9_AMD64,
- dockerbuild.Platform.PLAN9_386,
+ docker_build.Platform.PLAN9_AMD64,
+ docker_build.Platform.PLAN9_386,
])
```
```csharp
using System.Collections.Generic;
using System.Linq;
using Pulumi;
-using Dockerbuild = Pulumi.Dockerbuild;
+using DockerBuild = Pulumi.DockerBuild;
return await Deployment.RunAsync(() =>
{
- var image = new Dockerbuild.Image("image", new()
+ var image = new DockerBuild.Image("image", new()
{
- Context = new Dockerbuild.Inputs.BuildContextArgs
+ Context = new DockerBuild.Inputs.BuildContextArgs
{
Location = "app",
},
Platforms = new[]
{
- Dockerbuild.Platform.Plan9_amd64,
- Dockerbuild.Platform.Plan9_386,
+ DockerBuild.Platform.Plan9_amd64,
+ DockerBuild.Platform.Plan9_386,
},
});
@@ -365,7 +365,7 @@ return await Deployment.RunAsync(() =>
package main
import (
- "github.com/pulumi/pulumi-dockerbuild/sdk/go/dockerbuild"
+ "github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
@@ -375,7 +375,7 @@ func main() {
Context: &dockerbuild.BuildContextArgs{
Location: pulumi.String("app"),
},
- Platforms: dockerbuild.PlatformArray{
+ Platforms: docker - build.PlatformArray{
dockerbuild.Platform_Plan9_amd64,
dockerbuild.Platform_Plan9_386,
},
@@ -398,7 +398,7 @@ resources:
platforms:
- plan9/amd64
- plan9/386
- type: dockerbuild:Image
+ type: docker-build:Image
runtime: yaml
```
```java
@@ -441,9 +441,9 @@ public class App {
```typescript
import * as pulumi from "@pulumi/pulumi";
-import * as dockerbuild from "@pulumi/dockerbuild";
+import * as docker_build from "@pulumi/docker-build";
-const image = new dockerbuild.Image("image", {
+const image = new docker_build.Image("image", {
context: {
location: "app",
},
@@ -459,14 +459,14 @@ export const ref = myImage.ref;
```
```python
import pulumi
-import pulumi_dockerbuild as dockerbuild
+import pulumi_docker_build as docker_build
-image = dockerbuild.Image("image",
- context=dockerbuild.BuildContextArgs(
+image = docker_build.Image("image",
+ context=docker_build.BuildContextArgs(
location="app",
),
push=True,
- registries=[dockerbuild.RegistryArgs(
+ registries=[docker_build.RegistryArgs(
address="docker.io",
password=docker_hub_password,
username="pulumibot",
@@ -478,20 +478,20 @@ pulumi.export("ref", my_image["ref"])
using System.Collections.Generic;
using System.Linq;
using Pulumi;
-using Dockerbuild = Pulumi.Dockerbuild;
+using DockerBuild = Pulumi.DockerBuild;
return await Deployment.RunAsync(() =>
{
- var image = new Dockerbuild.Image("image", new()
+ var image = new DockerBuild.Image("image", new()
{
- Context = new Dockerbuild.Inputs.BuildContextArgs
+ Context = new DockerBuild.Inputs.BuildContextArgs
{
Location = "app",
},
Push = true,
Registries = new[]
{
- new Dockerbuild.Inputs.RegistryArgs
+ new DockerBuild.Inputs.RegistryArgs
{
Address = "docker.io",
Password = dockerHubPassword,
@@ -515,7 +515,7 @@ return await Deployment.RunAsync(() =>
package main
import (
- "github.com/pulumi/pulumi-dockerbuild/sdk/go/dockerbuild"
+ "github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
@@ -562,7 +562,7 @@ resources:
username: pulumibot
tags:
- docker.io/pulumi/pulumi:3.107.0
- type: dockerbuild:Image
+ type: docker-build:Image
runtime: yaml
```
```java
@@ -611,9 +611,9 @@ public class App {
```typescript
import * as pulumi from "@pulumi/pulumi";
-import * as dockerbuild from "@pulumi/dockerbuild";
+import * as docker_build from "@pulumi/docker-build";
-const image = new dockerbuild.Image("image", {
+const image = new docker_build.Image("image", {
cacheFrom: [{
local: {
src: "tmp/cache",
@@ -622,7 +622,7 @@ const image = new dockerbuild.Image("image", {
cacheTo: [{
local: {
dest: "tmp/cache",
- mode: dockerbuild.CacheMode.Max,
+ mode: docker_build.CacheMode.Max,
},
}],
context: {
@@ -632,21 +632,21 @@ const image = new dockerbuild.Image("image", {
```
```python
import pulumi
-import pulumi_dockerbuild as dockerbuild
+import pulumi_docker_build as docker_build
-image = dockerbuild.Image("image",
- cache_from=[dockerbuild.CacheFromArgs(
- local=dockerbuild.CacheFromLocalArgs(
+image = docker_build.Image("image",
+ cache_from=[docker_build.CacheFromArgs(
+ local=docker_build.CacheFromLocalArgs(
src="tmp/cache",
),
)],
- cache_to=[dockerbuild.CacheToArgs(
- local=dockerbuild.CacheToLocalArgs(
+ cache_to=[docker_build.CacheToArgs(
+ local=docker_build.CacheToLocalArgs(
dest="tmp/cache",
- mode=dockerbuild.CacheMode.MAX,
+ mode=docker_build.CacheMode.MAX,
),
)],
- context=dockerbuild.BuildContextArgs(
+ context=docker_build.BuildContextArgs(
location="app",
))
```
@@ -654,17 +654,17 @@ image = dockerbuild.Image("image",
using System.Collections.Generic;
using System.Linq;
using Pulumi;
-using Dockerbuild = Pulumi.Dockerbuild;
+using DockerBuild = Pulumi.DockerBuild;
return await Deployment.RunAsync(() =>
{
- var image = new Dockerbuild.Image("image", new()
+ var image = new DockerBuild.Image("image", new()
{
CacheFrom = new[]
{
- new Dockerbuild.Inputs.CacheFromArgs
+ new DockerBuild.Inputs.CacheFromArgs
{
- Local = new Dockerbuild.Inputs.CacheFromLocalArgs
+ Local = new DockerBuild.Inputs.CacheFromLocalArgs
{
Src = "tmp/cache",
},
@@ -672,16 +672,16 @@ return await Deployment.RunAsync(() =>
},
CacheTo = new[]
{
- new Dockerbuild.Inputs.CacheToArgs
+ new DockerBuild.Inputs.CacheToArgs
{
- Local = new Dockerbuild.Inputs.CacheToLocalArgs
+ Local = new DockerBuild.Inputs.CacheToLocalArgs
{
Dest = "tmp/cache",
- Mode = Dockerbuild.CacheMode.Max,
+ Mode = DockerBuild.CacheMode.Max,
},
},
},
- Context = new Dockerbuild.Inputs.BuildContextArgs
+ Context = new DockerBuild.Inputs.BuildContextArgs
{
Location = "app",
},
@@ -694,7 +694,7 @@ return await Deployment.RunAsync(() =>
package main
import (
- "github.com/pulumi/pulumi-dockerbuild/sdk/go/dockerbuild"
+ "github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
@@ -742,7 +742,7 @@ resources:
mode: max
context:
location: app
- type: dockerbuild:Image
+ type: docker-build:Image
runtime: yaml
```
```java
@@ -797,9 +797,9 @@ public class App {
```typescript
import * as pulumi from "@pulumi/pulumi";
-import * as dockerbuild from "@pulumi/dockerbuild";
+import * as docker_build from "@pulumi/docker-build";
-const image = new dockerbuild.Image("image", {
+const image = new docker_build.Image("image", {
builder: {
name: "cloud-builder-name",
},
@@ -811,13 +811,13 @@ const image = new dockerbuild.Image("image", {
```
```python
import pulumi
-import pulumi_dockerbuild as dockerbuild
+import pulumi_docker_build as docker_build
-image = dockerbuild.Image("image",
- builder=dockerbuild.BuilderConfigArgs(
+image = docker_build.Image("image",
+ builder=docker_build.BuilderConfigArgs(
name="cloud-builder-name",
),
- context=dockerbuild.BuildContextArgs(
+ context=docker_build.BuildContextArgs(
location="app",
),
exec_=True)
@@ -826,17 +826,17 @@ image = dockerbuild.Image("image",
using System.Collections.Generic;
using System.Linq;
using Pulumi;
-using Dockerbuild = Pulumi.Dockerbuild;
+using DockerBuild = Pulumi.DockerBuild;
return await Deployment.RunAsync(() =>
{
- var image = new Dockerbuild.Image("image", new()
+ var image = new DockerBuild.Image("image", new()
{
- Builder = new Dockerbuild.Inputs.BuilderConfigArgs
+ Builder = new DockerBuild.Inputs.BuilderConfigArgs
{
Name = "cloud-builder-name",
},
- Context = new Dockerbuild.Inputs.BuildContextArgs
+ Context = new DockerBuild.Inputs.BuildContextArgs
{
Location = "app",
},
@@ -850,7 +850,7 @@ return await Deployment.RunAsync(() =>
package main
import (
- "github.com/pulumi/pulumi-dockerbuild/sdk/go/dockerbuild"
+ "github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
@@ -883,7 +883,7 @@ resources:
context:
location: app
exec: true
- type: dockerbuild:Image
+ type: docker-build:Image
runtime: yaml
```
```java
@@ -928,9 +928,9 @@ public class App {
```typescript
import * as pulumi from "@pulumi/pulumi";
-import * as dockerbuild from "@pulumi/dockerbuild";
+import * as docker_build from "@pulumi/docker-build";
-const image = new dockerbuild.Image("image", {
+const image = new docker_build.Image("image", {
buildArgs: {
SET_ME_TO_TRUE: "true",
},
@@ -941,13 +941,13 @@ const image = new dockerbuild.Image("image", {
```
```python
import pulumi
-import pulumi_dockerbuild as dockerbuild
+import pulumi_docker_build as docker_build
-image = dockerbuild.Image("image",
+image = docker_build.Image("image",
build_args={
"SET_ME_TO_TRUE": "true",
},
- context=dockerbuild.BuildContextArgs(
+ context=docker_build.BuildContextArgs(
location="app",
))
```
@@ -955,17 +955,17 @@ image = dockerbuild.Image("image",
using System.Collections.Generic;
using System.Linq;
using Pulumi;
-using Dockerbuild = Pulumi.Dockerbuild;
+using DockerBuild = Pulumi.DockerBuild;
return await Deployment.RunAsync(() =>
{
- var image = new Dockerbuild.Image("image", new()
+ var image = new DockerBuild.Image("image", new()
{
BuildArgs =
{
{ "SET_ME_TO_TRUE", "true" },
},
- Context = new Dockerbuild.Inputs.BuildContextArgs
+ Context = new DockerBuild.Inputs.BuildContextArgs
{
Location = "app",
},
@@ -978,7 +978,7 @@ return await Deployment.RunAsync(() =>
package main
import (
- "github.com/pulumi/pulumi-dockerbuild/sdk/go/dockerbuild"
+ "github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
@@ -1009,7 +1009,7 @@ resources:
SET_ME_TO_TRUE: "true"
context:
location: app
- type: dockerbuild:Image
+ type: docker-build:Image
runtime: yaml
```
```java
@@ -1050,9 +1050,9 @@ public class App {
```typescript
import * as pulumi from "@pulumi/pulumi";
-import * as dockerbuild from "@pulumi/dockerbuild";
+import * as docker_build from "@pulumi/docker-build";
-const image = new dockerbuild.Image("image", {
+const image = new docker_build.Image("image", {
context: {
location: "app",
},
@@ -1061,10 +1061,10 @@ const image = new dockerbuild.Image("image", {
```
```python
import pulumi
-import pulumi_dockerbuild as dockerbuild
+import pulumi_docker_build as docker_build
-image = dockerbuild.Image("image",
- context=dockerbuild.BuildContextArgs(
+image = docker_build.Image("image",
+ context=docker_build.BuildContextArgs(
location="app",
),
target="build-me")
@@ -1073,13 +1073,13 @@ image = dockerbuild.Image("image",
using System.Collections.Generic;
using System.Linq;
using Pulumi;
-using Dockerbuild = Pulumi.Dockerbuild;
+using DockerBuild = Pulumi.DockerBuild;
return await Deployment.RunAsync(() =>
{
- var image = new Dockerbuild.Image("image", new()
+ var image = new DockerBuild.Image("image", new()
{
- Context = new Dockerbuild.Inputs.BuildContextArgs
+ Context = new DockerBuild.Inputs.BuildContextArgs
{
Location = "app",
},
@@ -1093,7 +1093,7 @@ return await Deployment.RunAsync(() =>
package main
import (
- "github.com/pulumi/pulumi-dockerbuild/sdk/go/dockerbuild"
+ "github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
@@ -1121,7 +1121,7 @@ resources:
context:
location: app
target: build-me
- type: dockerbuild:Image
+ type: docker-build:Image
runtime: yaml
```
```java
@@ -1162,9 +1162,9 @@ public class App {
```typescript
import * as pulumi from "@pulumi/pulumi";
-import * as dockerbuild from "@pulumi/dockerbuild";
+import * as docker_build from "@pulumi/docker-build";
-const image = new dockerbuild.Image("image", {context: {
+const image = new docker_build.Image("image", {context: {
location: "app",
named: {
"golang:latest": {
@@ -1175,12 +1175,12 @@ const image = new dockerbuild.Image("image", {context: {
```
```python
import pulumi
-import pulumi_dockerbuild as dockerbuild
+import pulumi_docker_build as docker_build
-image = dockerbuild.Image("image", context=dockerbuild.BuildContextArgs(
+image = docker_build.Image("image", context=docker_build.BuildContextArgs(
location="app",
named={
- "golang:latest": dockerbuild.ContextArgs(
+ "golang:latest": docker_build.ContextArgs(
location="docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984",
),
},
@@ -1190,18 +1190,18 @@ image = dockerbuild.Image("image", context=dockerbuild.BuildContextArgs(
using System.Collections.Generic;
using System.Linq;
using Pulumi;
-using Dockerbuild = Pulumi.Dockerbuild;
+using DockerBuild = Pulumi.DockerBuild;
return await Deployment.RunAsync(() =>
{
- var image = new Dockerbuild.Image("image", new()
+ var image = new DockerBuild.Image("image", new()
{
- Context = new Dockerbuild.Inputs.BuildContextArgs
+ Context = new DockerBuild.Inputs.BuildContextArgs
{
Location = "app",
Named =
{
- { "golang:latest", new Dockerbuild.Inputs.ContextArgs
+ { "golang:latest", new DockerBuild.Inputs.ContextArgs
{
Location = "docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984",
} },
@@ -1216,7 +1216,7 @@ return await Deployment.RunAsync(() =>
package main
import (
- "github.com/pulumi/pulumi-dockerbuild/sdk/go/dockerbuild"
+ "github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
@@ -1250,7 +1250,7 @@ resources:
named:
golang:latest:
location: docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984
- type: dockerbuild:Image
+ type: docker-build:Image
runtime: yaml
```
```java
@@ -1291,17 +1291,17 @@ public class App {
```typescript
import * as pulumi from "@pulumi/pulumi";
-import * as dockerbuild from "@pulumi/dockerbuild";
+import * as docker_build from "@pulumi/docker-build";
-const image = new dockerbuild.Image("image", {context: {
+const image = new docker_build.Image("image", {context: {
location: "https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile",
}});
```
```python
import pulumi
-import pulumi_dockerbuild as dockerbuild
+import pulumi_docker_build as docker_build
-image = dockerbuild.Image("image", context=dockerbuild.BuildContextArgs(
+image = docker_build.Image("image", context=docker_build.BuildContextArgs(
location="https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile",
))
```
@@ -1309,13 +1309,13 @@ image = dockerbuild.Image("image", context=dockerbuild.BuildContextArgs(
using System.Collections.Generic;
using System.Linq;
using Pulumi;
-using Dockerbuild = Pulumi.Dockerbuild;
+using DockerBuild = Pulumi.DockerBuild;
return await Deployment.RunAsync(() =>
{
- var image = new Dockerbuild.Image("image", new()
+ var image = new DockerBuild.Image("image", new()
{
- Context = new Dockerbuild.Inputs.BuildContextArgs
+ Context = new DockerBuild.Inputs.BuildContextArgs
{
Location = "https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile",
},
@@ -1328,7 +1328,7 @@ return await Deployment.RunAsync(() =>
package main
import (
- "github.com/pulumi/pulumi-dockerbuild/sdk/go/dockerbuild"
+ "github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
@@ -1354,7 +1354,7 @@ resources:
properties:
context:
location: https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile
- type: dockerbuild:Image
+ type: docker-build:Image
runtime: yaml
```
```java
@@ -1394,9 +1394,9 @@ public class App {
```typescript
import * as pulumi from "@pulumi/pulumi";
-import * as dockerbuild from "@pulumi/dockerbuild";
+import * as docker_build from "@pulumi/docker-build";
-const image = new dockerbuild.Image("image", {
+const image = new docker_build.Image("image", {
context: {
location: "app",
},
@@ -1409,13 +1409,13 @@ COPY hello.c ./
```
```python
import pulumi
-import pulumi_dockerbuild as dockerbuild
+import pulumi_docker_build as docker_build
-image = dockerbuild.Image("image",
- context=dockerbuild.BuildContextArgs(
+image = docker_build.Image("image",
+ context=docker_build.BuildContextArgs(
location="app",
),
- dockerfile=dockerbuild.DockerfileArgs(
+ dockerfile=docker_build.DockerfileArgs(
inline="""FROM busybox
COPY hello.c ./
""",
@@ -1425,17 +1425,17 @@ COPY hello.c ./
using System.Collections.Generic;
using System.Linq;
using Pulumi;
-using Dockerbuild = Pulumi.Dockerbuild;
+using DockerBuild = Pulumi.DockerBuild;
return await Deployment.RunAsync(() =>
{
- var image = new Dockerbuild.Image("image", new()
+ var image = new DockerBuild.Image("image", new()
{
- Context = new Dockerbuild.Inputs.BuildContextArgs
+ Context = new DockerBuild.Inputs.BuildContextArgs
{
Location = "app",
},
- Dockerfile = new Dockerbuild.Inputs.DockerfileArgs
+ Dockerfile = new DockerBuild.Inputs.DockerfileArgs
{
Inline = @"FROM busybox
COPY hello.c ./
@@ -1450,7 +1450,7 @@ COPY hello.c ./
package main
import (
- "github.com/pulumi/pulumi-dockerbuild/sdk/go/dockerbuild"
+ "github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
@@ -1483,7 +1483,7 @@ resources:
inline: |
FROM busybox
COPY hello.c ./
- type: dockerbuild:Image
+ type: docker-build:Image
runtime: yaml
```
```java
@@ -1530,9 +1530,9 @@ COPY hello.c ./
```typescript
import * as pulumi from "@pulumi/pulumi";
-import * as dockerbuild from "@pulumi/dockerbuild";
+import * as docker_build from "@pulumi/docker-build";
-const image = new dockerbuild.Image("image", {
+const image = new docker_build.Image("image", {
context: {
location: "https://github.com/docker-library/hello-world.git",
},
@@ -1543,13 +1543,13 @@ const image = new dockerbuild.Image("image", {
```
```python
import pulumi
-import pulumi_dockerbuild as dockerbuild
+import pulumi_docker_build as docker_build
-image = dockerbuild.Image("image",
- context=dockerbuild.BuildContextArgs(
+image = docker_build.Image("image",
+ context=docker_build.BuildContextArgs(
location="https://github.com/docker-library/hello-world.git",
),
- dockerfile=dockerbuild.DockerfileArgs(
+ dockerfile=docker_build.DockerfileArgs(
location="app/Dockerfile",
))
```
@@ -1557,17 +1557,17 @@ image = dockerbuild.Image("image",
using System.Collections.Generic;
using System.Linq;
using Pulumi;
-using Dockerbuild = Pulumi.Dockerbuild;
+using DockerBuild = Pulumi.DockerBuild;
return await Deployment.RunAsync(() =>
{
- var image = new Dockerbuild.Image("image", new()
+ var image = new DockerBuild.Image("image", new()
{
- Context = new Dockerbuild.Inputs.BuildContextArgs
+ Context = new DockerBuild.Inputs.BuildContextArgs
{
Location = "https://github.com/docker-library/hello-world.git",
},
- Dockerfile = new Dockerbuild.Inputs.DockerfileArgs
+ Dockerfile = new DockerBuild.Inputs.DockerfileArgs
{
Location = "app/Dockerfile",
},
@@ -1580,7 +1580,7 @@ return await Deployment.RunAsync(() =>
package main
import (
- "github.com/pulumi/pulumi-dockerbuild/sdk/go/dockerbuild"
+ "github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
@@ -1611,7 +1611,7 @@ resources:
location: https://github.com/docker-library/hello-world.git
dockerfile:
location: app/Dockerfile
- type: dockerbuild:Image
+ type: docker-build:Image
runtime: yaml
```
```java
@@ -1655,9 +1655,9 @@ public class App {
```typescript
import * as pulumi from "@pulumi/pulumi";
-import * as dockerbuild from "@pulumi/dockerbuild";
+import * as docker_build from "@pulumi/docker-build";
-const image = new dockerbuild.Image("image", {
+const image = new docker_build.Image("image", {
context: {
location: "app",
},
@@ -1670,14 +1670,14 @@ const image = new dockerbuild.Image("image", {
```
```python
import pulumi
-import pulumi_dockerbuild as dockerbuild
+import pulumi_docker_build as docker_build
-image = dockerbuild.Image("image",
- context=dockerbuild.BuildContextArgs(
+image = docker_build.Image("image",
+ context=docker_build.BuildContextArgs(
location="app",
),
- exports=[dockerbuild.ExportArgs(
- docker=dockerbuild.ExportDockerArgs(
+ exports=[docker_build.ExportArgs(
+ docker=docker_build.ExportDockerArgs(
tar=True,
),
)])
@@ -1686,21 +1686,21 @@ image = dockerbuild.Image("image",
using System.Collections.Generic;
using System.Linq;
using Pulumi;
-using Dockerbuild = Pulumi.Dockerbuild;
+using DockerBuild = Pulumi.DockerBuild;
return await Deployment.RunAsync(() =>
{
- var image = new Dockerbuild.Image("image", new()
+ var image = new DockerBuild.Image("image", new()
{
- Context = new Dockerbuild.Inputs.BuildContextArgs
+ Context = new DockerBuild.Inputs.BuildContextArgs
{
Location = "app",
},
Exports = new[]
{
- new Dockerbuild.Inputs.ExportArgs
+ new DockerBuild.Inputs.ExportArgs
{
- Docker = new Dockerbuild.Inputs.ExportDockerArgs
+ Docker = new DockerBuild.Inputs.ExportDockerArgs
{
Tar = true,
},
@@ -1715,7 +1715,7 @@ return await Deployment.RunAsync(() =>
package main
import (
- "github.com/pulumi/pulumi-dockerbuild/sdk/go/dockerbuild"
+ "github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
@@ -1751,7 +1751,7 @@ resources:
exports:
- docker:
tar: true
- type: dockerbuild:Image
+ type: docker-build:Image
runtime: yaml
```
```java
diff --git a/provider/internal/provider.go b/provider/internal/provider.go
index 742e981..e7c17dc 100644
--- a/provider/internal/provider.go
+++ b/provider/internal/provider.go
@@ -69,14 +69,13 @@ func NewBuildxProvider() provider.Provider {
return infer.Provider(
infer.Options{
Metadata: pschema.Metadata{
- DisplayName: "docker-build",
- Keywords: []string{"docker", "buildkit", "buildx"},
- Description: "A Pulumi provider for Docker buildx",
- Homepage: "https://pulumi.io",
- Publisher: "pulumi",
- License: "Apache-2.0",
- Repository: "https://github.com/pulumi/pulumi-docker-build",
- PluginDownloadURL: "github.com/pulumi/pulumi-docker-build",
+ DisplayName: "docker-build",
+ Keywords: []string{"docker", "buildkit", "buildx", "kind/native"},
+ Description: "A Pulumi provider for Docker buildx",
+ Homepage: "https://pulumi.com",
+ Publisher: "pulumi",
+ License: "Apache-2.0",
+ Repository: "https://github.com/pulumi/pulumi-docker-build",
LanguageMap: map[string]any{
"go": gogen.GoPackageInfo{
// GenerateResourceContainerTypes: true,
diff --git a/sdk/dotnet/Image.cs b/sdk/dotnet/Image.cs
index f9d19fc..f597010 100644
--- a/sdk/dotnet/Image.cs
+++ b/sdk/dotnet/Image.cs
@@ -127,7 +127,7 @@ namespace Pulumi.DockerBuild
/// using System.Linq;
/// using Pulumi;
/// using Aws = Pulumi.Aws;
- /// using Dockerbuild = Pulumi.Dockerbuild;
+ /// using DockerBuild = Pulumi.DockerBuild;
///
/// return await Deployment.RunAsync(() =>
/// {
@@ -138,13 +138,13 @@ namespace Pulumi.DockerBuild
/// RegistryId = ecrRepository.RegistryId,
/// });
///
- /// var myImage = new Dockerbuild.Image("my-image", new()
+ /// var myImage = new DockerBuild.Image("my-image", new()
/// {
/// CacheFrom = new[]
/// {
- /// new Dockerbuild.Inputs.CacheFromArgs
+ /// new DockerBuild.Inputs.CacheFromArgs
/// {
- /// Registry = new Dockerbuild.Inputs.CacheFromRegistryArgs
+ /// Registry = new DockerBuild.Inputs.CacheFromRegistryArgs
/// {
/// Ref = ecrRepository.RepositoryUrl.Apply(repositoryUrl => $"{repositoryUrl}:cache"),
/// },
@@ -152,9 +152,9 @@ namespace Pulumi.DockerBuild
/// },
/// CacheTo = new[]
/// {
- /// new Dockerbuild.Inputs.CacheToArgs
+ /// new DockerBuild.Inputs.CacheToArgs
/// {
- /// Registry = new Dockerbuild.Inputs.CacheToRegistryArgs
+ /// Registry = new DockerBuild.Inputs.CacheToRegistryArgs
/// {
/// ImageManifest = true,
/// OciMediaTypes = true,
@@ -162,14 +162,14 @@ namespace Pulumi.DockerBuild
/// },
/// },
/// },
- /// Context = new Dockerbuild.Inputs.BuildContextArgs
+ /// Context = new DockerBuild.Inputs.BuildContextArgs
/// {
/// Location = "./app",
/// },
/// Push = true,
/// Registries = new[]
/// {
- /// new Dockerbuild.Inputs.RegistryArgs
+ /// new DockerBuild.Inputs.RegistryArgs
/// {
/// Address = ecrRepository.RepositoryUrl,
/// Password = authToken.Apply(getAuthorizationTokenResult => getAuthorizationTokenResult.Password),
@@ -194,20 +194,20 @@ namespace Pulumi.DockerBuild
/// using System.Collections.Generic;
/// using System.Linq;
/// using Pulumi;
- /// using Dockerbuild = Pulumi.Dockerbuild;
+ /// using DockerBuild = Pulumi.DockerBuild;
///
/// return await Deployment.RunAsync(() =>
/// {
- /// var image = new Dockerbuild.Image("image", new()
+ /// var image = new DockerBuild.Image("image", new()
/// {
- /// Context = new Dockerbuild.Inputs.BuildContextArgs
+ /// Context = new DockerBuild.Inputs.BuildContextArgs
/// {
/// Location = "app",
/// },
/// Platforms = new[]
/// {
- /// Dockerbuild.Platform.Plan9_amd64,
- /// Dockerbuild.Platform.Plan9_386,
+ /// DockerBuild.Platform.Plan9_amd64,
+ /// DockerBuild.Platform.Plan9_386,
/// },
/// });
///
@@ -219,20 +219,20 @@ namespace Pulumi.DockerBuild
/// using System.Collections.Generic;
/// using System.Linq;
/// using Pulumi;
- /// using Dockerbuild = Pulumi.Dockerbuild;
+ /// using DockerBuild = Pulumi.DockerBuild;
///
/// return await Deployment.RunAsync(() =>
/// {
- /// var image = new Dockerbuild.Image("image", new()
+ /// var image = new DockerBuild.Image("image", new()
/// {
- /// Context = new Dockerbuild.Inputs.BuildContextArgs
+ /// Context = new DockerBuild.Inputs.BuildContextArgs
/// {
/// Location = "app",
/// },
/// Push = true,
/// Registries = new[]
/// {
- /// new Dockerbuild.Inputs.RegistryArgs
+ /// new DockerBuild.Inputs.RegistryArgs
/// {
/// Address = "docker.io",
/// Password = dockerHubPassword,
@@ -257,17 +257,17 @@ namespace Pulumi.DockerBuild
/// using System.Collections.Generic;
/// using System.Linq;
/// using Pulumi;
- /// using Dockerbuild = Pulumi.Dockerbuild;
+ /// using DockerBuild = Pulumi.DockerBuild;
///
/// return await Deployment.RunAsync(() =>
/// {
- /// var image = new Dockerbuild.Image("image", new()
+ /// var image = new DockerBuild.Image("image", new()
/// {
/// CacheFrom = new[]
/// {
- /// new Dockerbuild.Inputs.CacheFromArgs
+ /// new DockerBuild.Inputs.CacheFromArgs
/// {
- /// Local = new Dockerbuild.Inputs.CacheFromLocalArgs
+ /// Local = new DockerBuild.Inputs.CacheFromLocalArgs
/// {
/// Src = "tmp/cache",
/// },
@@ -275,16 +275,16 @@ namespace Pulumi.DockerBuild
/// },
/// CacheTo = new[]
/// {
- /// new Dockerbuild.Inputs.CacheToArgs
+ /// new DockerBuild.Inputs.CacheToArgs
/// {
- /// Local = new Dockerbuild.Inputs.CacheToLocalArgs
+ /// Local = new DockerBuild.Inputs.CacheToLocalArgs
/// {
/// Dest = "tmp/cache",
- /// Mode = Dockerbuild.CacheMode.Max,
+ /// Mode = DockerBuild.CacheMode.Max,
/// },
/// },
/// },
- /// Context = new Dockerbuild.Inputs.BuildContextArgs
+ /// Context = new DockerBuild.Inputs.BuildContextArgs
/// {
/// Location = "app",
/// },
@@ -298,17 +298,17 @@ namespace Pulumi.DockerBuild
/// using System.Collections.Generic;
/// using System.Linq;
/// using Pulumi;
- /// using Dockerbuild = Pulumi.Dockerbuild;
+ /// using DockerBuild = Pulumi.DockerBuild;
///
/// return await Deployment.RunAsync(() =>
/// {
- /// var image = new Dockerbuild.Image("image", new()
+ /// var image = new DockerBuild.Image("image", new()
/// {
- /// Builder = new Dockerbuild.Inputs.BuilderConfigArgs
+ /// Builder = new DockerBuild.Inputs.BuilderConfigArgs
/// {
/// Name = "cloud-builder-name",
/// },
- /// Context = new Dockerbuild.Inputs.BuildContextArgs
+ /// Context = new DockerBuild.Inputs.BuildContextArgs
/// {
/// Location = "app",
/// },
@@ -323,17 +323,17 @@ namespace Pulumi.DockerBuild
/// using System.Collections.Generic;
/// using System.Linq;
/// using Pulumi;
- /// using Dockerbuild = Pulumi.Dockerbuild;
+ /// using DockerBuild = Pulumi.DockerBuild;
///
/// return await Deployment.RunAsync(() =>
/// {
- /// var image = new Dockerbuild.Image("image", new()
+ /// var image = new DockerBuild.Image("image", new()
/// {
/// BuildArgs =
/// {
/// { "SET_ME_TO_TRUE", "true" },
/// },
- /// Context = new Dockerbuild.Inputs.BuildContextArgs
+ /// Context = new DockerBuild.Inputs.BuildContextArgs
/// {
/// Location = "app",
/// },
@@ -347,13 +347,13 @@ namespace Pulumi.DockerBuild
/// using System.Collections.Generic;
/// using System.Linq;
/// using Pulumi;
- /// using Dockerbuild = Pulumi.Dockerbuild;
+ /// using DockerBuild = Pulumi.DockerBuild;
///
/// return await Deployment.RunAsync(() =>
/// {
- /// var image = new Dockerbuild.Image("image", new()
+ /// var image = new DockerBuild.Image("image", new()
/// {
- /// Context = new Dockerbuild.Inputs.BuildContextArgs
+ /// Context = new DockerBuild.Inputs.BuildContextArgs
/// {
/// Location = "app",
/// },
@@ -368,18 +368,18 @@ namespace Pulumi.DockerBuild
/// using System.Collections.Generic;
/// using System.Linq;
/// using Pulumi;
- /// using Dockerbuild = Pulumi.Dockerbuild;
+ /// using DockerBuild = Pulumi.DockerBuild;
///
/// return await Deployment.RunAsync(() =>
/// {
- /// var image = new Dockerbuild.Image("image", new()
+ /// var image = new DockerBuild.Image("image", new()
/// {
- /// Context = new Dockerbuild.Inputs.BuildContextArgs
+ /// Context = new DockerBuild.Inputs.BuildContextArgs
/// {
/// Location = "app",
/// Named =
/// {
- /// { "golang:latest", new Dockerbuild.Inputs.ContextArgs
+ /// { "golang:latest", new DockerBuild.Inputs.ContextArgs
/// {
/// Location = "docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984",
/// } },
@@ -395,13 +395,13 @@ namespace Pulumi.DockerBuild
/// using System.Collections.Generic;
/// using System.Linq;
/// using Pulumi;
- /// using Dockerbuild = Pulumi.Dockerbuild;
+ /// using DockerBuild = Pulumi.DockerBuild;
///
/// return await Deployment.RunAsync(() =>
/// {
- /// var image = new Dockerbuild.Image("image", new()
+ /// var image = new DockerBuild.Image("image", new()
/// {
- /// Context = new Dockerbuild.Inputs.BuildContextArgs
+ /// Context = new DockerBuild.Inputs.BuildContextArgs
/// {
/// Location = "https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile",
/// },
@@ -415,17 +415,17 @@ namespace Pulumi.DockerBuild
/// using System.Collections.Generic;
/// using System.Linq;
/// using Pulumi;
- /// using Dockerbuild = Pulumi.Dockerbuild;
+ /// using DockerBuild = Pulumi.DockerBuild;
///
/// return await Deployment.RunAsync(() =>
/// {
- /// var image = new Dockerbuild.Image("image", new()
+ /// var image = new DockerBuild.Image("image", new()
/// {
- /// Context = new Dockerbuild.Inputs.BuildContextArgs
+ /// Context = new DockerBuild.Inputs.BuildContextArgs
/// {
/// Location = "app",
/// },
- /// Dockerfile = new Dockerbuild.Inputs.DockerfileArgs
+ /// Dockerfile = new DockerBuild.Inputs.DockerfileArgs
/// {
/// Inline = @"FROM busybox
/// COPY hello.c ./
@@ -441,17 +441,17 @@ namespace Pulumi.DockerBuild
/// using System.Collections.Generic;
/// using System.Linq;
/// using Pulumi;
- /// using Dockerbuild = Pulumi.Dockerbuild;
+ /// using DockerBuild = Pulumi.DockerBuild;
///
/// return await Deployment.RunAsync(() =>
/// {
- /// var image = new Dockerbuild.Image("image", new()
+ /// var image = new DockerBuild.Image("image", new()
/// {
- /// Context = new Dockerbuild.Inputs.BuildContextArgs
+ /// Context = new DockerBuild.Inputs.BuildContextArgs
/// {
/// Location = "https://github.com/docker-library/hello-world.git",
/// },
- /// Dockerfile = new Dockerbuild.Inputs.DockerfileArgs
+ /// Dockerfile = new DockerBuild.Inputs.DockerfileArgs
/// {
/// Location = "app/Dockerfile",
/// },
@@ -465,21 +465,21 @@ namespace Pulumi.DockerBuild
/// using System.Collections.Generic;
/// using System.Linq;
/// using Pulumi;
- /// using Dockerbuild = Pulumi.Dockerbuild;
+ /// using DockerBuild = Pulumi.DockerBuild;
///
/// return await Deployment.RunAsync(() =>
/// {
- /// var image = new Dockerbuild.Image("image", new()
+ /// var image = new DockerBuild.Image("image", new()
/// {
- /// Context = new Dockerbuild.Inputs.BuildContextArgs
+ /// Context = new DockerBuild.Inputs.BuildContextArgs
/// {
/// Location = "app",
/// },
/// Exports = new[]
/// {
- /// new Dockerbuild.Inputs.ExportArgs
+ /// new DockerBuild.Inputs.ExportArgs
/// {
- /// Docker = new Dockerbuild.Inputs.ExportDockerArgs
+ /// Docker = new DockerBuild.Inputs.ExportDockerArgs
/// {
/// Tar = true,
/// },
@@ -791,7 +791,6 @@ namespace Pulumi.DockerBuild
var defaultOptions = new CustomResourceOptions
{
Version = Utilities.Version,
- PluginDownloadURL = "github.com/pulumi/pulumi-docker-build",
};
var merged = CustomResourceOptions.Merge(defaultOptions, options);
// Override the ID if one was specified for consistency with other language SDKs.
diff --git a/sdk/dotnet/Index.cs b/sdk/dotnet/Index.cs
index a068abf..585b4ee 100644
--- a/sdk/dotnet/Index.cs
+++ b/sdk/dotnet/Index.cs
@@ -182,7 +182,6 @@ namespace Pulumi.DockerBuild
var defaultOptions = new CustomResourceOptions
{
Version = Utilities.Version,
- PluginDownloadURL = "github.com/pulumi/pulumi-docker-build",
};
var merged = CustomResourceOptions.Merge(defaultOptions, options);
// Override the ID if one was specified for consistency with other language SDKs.
diff --git a/sdk/dotnet/Provider.cs b/sdk/dotnet/Provider.cs
index 69d461f..3801824 100644
--- a/sdk/dotnet/Provider.cs
+++ b/sdk/dotnet/Provider.cs
@@ -36,7 +36,6 @@ namespace Pulumi.DockerBuild
var defaultOptions = new CustomResourceOptions
{
Version = Utilities.Version,
- PluginDownloadURL = "github.com/pulumi/pulumi-docker-build",
};
var merged = CustomResourceOptions.Merge(defaultOptions, options);
// Override the ID if one was specified for consistency with other language SDKs.
diff --git a/sdk/dotnet/Pulumi.DockerBuild.csproj b/sdk/dotnet/Pulumi.DockerBuild.csproj
index 884b9d1..3745deb 100644
--- a/sdk/dotnet/Pulumi.DockerBuild.csproj
+++ b/sdk/dotnet/Pulumi.DockerBuild.csproj
@@ -6,7 +6,7 @@
pulumi
A Pulumi provider for Docker buildx
Apache-2.0
- https://pulumi.io
+ https://pulumi.com
https://github.com/pulumi/pulumi-docker-build
logo.png
diff --git a/sdk/dotnet/Utilities.cs b/sdk/dotnet/Utilities.cs
index 6d6f5eb..41c642f 100644
--- a/sdk/dotnet/Utilities.cs
+++ b/sdk/dotnet/Utilities.cs
@@ -53,7 +53,6 @@ namespace Pulumi.DockerBuild
{
var dst = src ?? new global::Pulumi.InvokeOptions{};
dst.Version = src?.Version ?? Version;
- dst.PluginDownloadURL = src?.PluginDownloadURL ?? "github.com/pulumi/pulumi-docker-build";
return dst;
}
diff --git a/sdk/dotnet/pulumi-plugin.json b/sdk/dotnet/pulumi-plugin.json
index 9eda045..4580097 100644
--- a/sdk/dotnet/pulumi-plugin.json
+++ b/sdk/dotnet/pulumi-plugin.json
@@ -1,5 +1,4 @@
{
"resource": true,
- "name": "docker-build",
- "server": "github.com/pulumi/pulumi-docker-build"
+ "name": "docker-build"
}
diff --git a/sdk/go/dockerbuild/image.go b/sdk/go/dockerbuild/image.go
index a81bc11..049bf40 100644
--- a/sdk/go/dockerbuild/image.go
+++ b/sdk/go/dockerbuild/image.go
@@ -132,7 +132,7 @@ import (
// "fmt"
//
// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecr"
-// "github.com/pulumi/pulumi-dockerbuild/sdk/go/dockerbuild"
+// "github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild"
// "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
//
// )
@@ -203,7 +203,7 @@ import (
//
// import (
//
-// "github.com/pulumi/pulumi-dockerbuild/sdk/go/dockerbuild"
+// "github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild"
// "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
//
// )
@@ -214,7 +214,7 @@ import (
// Context: &dockerbuild.BuildContextArgs{
// Location: pulumi.String("app"),
// },
-// Platforms: dockerbuild.PlatformArray{
+// Platforms: docker - build.PlatformArray{
// dockerbuild.Platform_Plan9_amd64,
// dockerbuild.Platform_Plan9_386,
// },
@@ -233,7 +233,7 @@ import (
//
// import (
//
-// "github.com/pulumi/pulumi-dockerbuild/sdk/go/dockerbuild"
+// "github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild"
// "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
//
// )
@@ -271,7 +271,7 @@ import (
//
// import (
//
-// "github.com/pulumi/pulumi-dockerbuild/sdk/go/dockerbuild"
+// "github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild"
// "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
//
// )
@@ -312,7 +312,7 @@ import (
//
// import (
//
-// "github.com/pulumi/pulumi-dockerbuild/sdk/go/dockerbuild"
+// "github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild"
// "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
//
// )
@@ -342,7 +342,7 @@ import (
//
// import (
//
-// "github.com/pulumi/pulumi-dockerbuild/sdk/go/dockerbuild"
+// "github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild"
// "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
//
// )
@@ -371,7 +371,7 @@ import (
//
// import (
//
-// "github.com/pulumi/pulumi-dockerbuild/sdk/go/dockerbuild"
+// "github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild"
// "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
//
// )
@@ -398,7 +398,7 @@ import (
//
// import (
//
-// "github.com/pulumi/pulumi-dockerbuild/sdk/go/dockerbuild"
+// "github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild"
// "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
//
// )
@@ -429,7 +429,7 @@ import (
//
// import (
//
-// "github.com/pulumi/pulumi-dockerbuild/sdk/go/dockerbuild"
+// "github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild"
// "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
//
// )
@@ -455,7 +455,7 @@ import (
//
// import (
//
-// "github.com/pulumi/pulumi-dockerbuild/sdk/go/dockerbuild"
+// "github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild"
// "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
//
// )
@@ -484,7 +484,7 @@ import (
//
// import (
//
-// "github.com/pulumi/pulumi-dockerbuild/sdk/go/dockerbuild"
+// "github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild"
// "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
//
// )
@@ -513,7 +513,7 @@ import (
//
// import (
//
-// "github.com/pulumi/pulumi-dockerbuild/sdk/go/dockerbuild"
+// "github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild"
// "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
//
// )
diff --git a/sdk/go/dockerbuild/internal/pulumiUtilities.go b/sdk/go/dockerbuild/internal/pulumiUtilities.go
index 34b5ade..cb9ddd8 100644
--- a/sdk/go/dockerbuild/internal/pulumiUtilities.go
+++ b/sdk/go/dockerbuild/internal/pulumiUtilities.go
@@ -164,7 +164,7 @@ func callPlainInner(
// PkgResourceDefaultOpts provides package level defaults to pulumi.OptionResource.
func PkgResourceDefaultOpts(opts []pulumi.ResourceOption) []pulumi.ResourceOption {
defaults := []pulumi.ResourceOption{}
- defaults = append(defaults, pulumi.PluginDownloadURL("github.com/pulumi/pulumi-docker-build"))
+
version := SdkVersion
if !version.Equals(semver.Version{}) {
defaults = append(defaults, pulumi.Version(version.String()))
@@ -175,7 +175,7 @@ func PkgResourceDefaultOpts(opts []pulumi.ResourceOption) []pulumi.ResourceOptio
// PkgInvokeDefaultOpts provides package level defaults to pulumi.OptionInvoke.
func PkgInvokeDefaultOpts(opts []pulumi.InvokeOption) []pulumi.InvokeOption {
defaults := []pulumi.InvokeOption{}
- defaults = append(defaults, pulumi.PluginDownloadURL("github.com/pulumi/pulumi-docker-build"))
+
version := SdkVersion
if !version.Equals(semver.Version{}) {
defaults = append(defaults, pulumi.Version(version.String()))
diff --git a/sdk/go/dockerbuild/pulumi-plugin.json b/sdk/go/dockerbuild/pulumi-plugin.json
index 9eda045..4580097 100644
--- a/sdk/go/dockerbuild/pulumi-plugin.json
+++ b/sdk/go/dockerbuild/pulumi-plugin.json
@@ -1,5 +1,4 @@
{
"resource": true,
- "name": "docker-build",
- "server": "github.com/pulumi/pulumi-docker-build"
+ "name": "docker-build"
}
diff --git a/sdk/go/dockerbuild/x/image.go b/sdk/go/dockerbuild/x/image.go
index e48b077..0fe21ce 100644
--- a/sdk/go/dockerbuild/x/image.go
+++ b/sdk/go/dockerbuild/x/image.go
@@ -132,7 +132,7 @@ import (
// "fmt"
//
// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecr"
-// "github.com/pulumi/pulumi-dockerbuild/sdk/go/dockerbuild"
+// "github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild"
// "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
//
// )
@@ -203,7 +203,7 @@ import (
//
// import (
//
-// "github.com/pulumi/pulumi-dockerbuild/sdk/go/dockerbuild"
+// "github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild"
// "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
//
// )
@@ -214,7 +214,7 @@ import (
// Context: &dockerbuild.BuildContextArgs{
// Location: pulumi.String("app"),
// },
-// Platforms: dockerbuild.PlatformArray{
+// Platforms: docker - build.PlatformArray{
// dockerbuild.Platform_Plan9_amd64,
// dockerbuild.Platform_Plan9_386,
// },
@@ -233,7 +233,7 @@ import (
//
// import (
//
-// "github.com/pulumi/pulumi-dockerbuild/sdk/go/dockerbuild"
+// "github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild"
// "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
//
// )
@@ -271,7 +271,7 @@ import (
//
// import (
//
-// "github.com/pulumi/pulumi-dockerbuild/sdk/go/dockerbuild"
+// "github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild"
// "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
//
// )
@@ -312,7 +312,7 @@ import (
//
// import (
//
-// "github.com/pulumi/pulumi-dockerbuild/sdk/go/dockerbuild"
+// "github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild"
// "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
//
// )
@@ -342,7 +342,7 @@ import (
//
// import (
//
-// "github.com/pulumi/pulumi-dockerbuild/sdk/go/dockerbuild"
+// "github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild"
// "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
//
// )
@@ -371,7 +371,7 @@ import (
//
// import (
//
-// "github.com/pulumi/pulumi-dockerbuild/sdk/go/dockerbuild"
+// "github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild"
// "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
//
// )
@@ -398,7 +398,7 @@ import (
//
// import (
//
-// "github.com/pulumi/pulumi-dockerbuild/sdk/go/dockerbuild"
+// "github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild"
// "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
//
// )
@@ -429,7 +429,7 @@ import (
//
// import (
//
-// "github.com/pulumi/pulumi-dockerbuild/sdk/go/dockerbuild"
+// "github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild"
// "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
//
// )
@@ -455,7 +455,7 @@ import (
//
// import (
//
-// "github.com/pulumi/pulumi-dockerbuild/sdk/go/dockerbuild"
+// "github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild"
// "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
//
// )
@@ -484,7 +484,7 @@ import (
//
// import (
//
-// "github.com/pulumi/pulumi-dockerbuild/sdk/go/dockerbuild"
+// "github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild"
// "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
//
// )
@@ -513,7 +513,7 @@ import (
//
// import (
//
-// "github.com/pulumi/pulumi-dockerbuild/sdk/go/dockerbuild"
+// "github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild"
// "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
//
// )
diff --git a/sdk/nodejs/image.ts b/sdk/nodejs/image.ts
index f3ad8bc..b24049a 100644
--- a/sdk/nodejs/image.ts
+++ b/sdk/nodejs/image.ts
@@ -253,13 +253,13 @@ import * as utilities from "./utilities";
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as aws from "@pulumi/aws";
- * import * as dockerbuild from "@pulumi/dockerbuild";
+ * import * as docker_build from "@pulumi/docker-build";
*
* const ecrRepository = new aws.ecr.Repository("ecr-repository", {});
* const authToken = aws.ecr.getAuthorizationTokenOutput({
* registryId: ecrRepository.registryId,
* });
- * const myImage = new dockerbuild.Image("my-image", {
+ * const myImage = new docker_build.Image("my-image", {
* cacheFrom: [{
* registry: {
* ref: pulumi.interpolate`${ecrRepository.repositoryUrl}:cache`,
@@ -289,15 +289,15 @@ import * as utilities from "./utilities";
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
- * import * as dockerbuild from "@pulumi/dockerbuild";
+ * import * as docker_build from "@pulumi/docker-build";
*
- * const image = new dockerbuild.Image("image", {
+ * const image = new docker_build.Image("image", {
* context: {
* location: "app",
* },
* platforms: [
- * dockerbuild.Platform.Plan9_amd64,
- * dockerbuild.Platform.Plan9_386,
+ * docker_build.Platform.Plan9_amd64,
+ * docker_build.Platform.Plan9_386,
* ],
* });
* ```
@@ -305,9 +305,9 @@ import * as utilities from "./utilities";
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
- * import * as dockerbuild from "@pulumi/dockerbuild";
+ * import * as docker_build from "@pulumi/docker-build";
*
- * const image = new dockerbuild.Image("image", {
+ * const image = new docker_build.Image("image", {
* context: {
* location: "app",
* },
@@ -325,9 +325,9 @@ import * as utilities from "./utilities";
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
- * import * as dockerbuild from "@pulumi/dockerbuild";
+ * import * as docker_build from "@pulumi/docker-build";
*
- * const image = new dockerbuild.Image("image", {
+ * const image = new docker_build.Image("image", {
* cacheFrom: [{
* local: {
* src: "tmp/cache",
@@ -336,7 +336,7 @@ import * as utilities from "./utilities";
* cacheTo: [{
* local: {
* dest: "tmp/cache",
- * mode: dockerbuild.CacheMode.Max,
+ * mode: docker_build.CacheMode.Max,
* },
* }],
* context: {
@@ -348,9 +348,9 @@ import * as utilities from "./utilities";
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
- * import * as dockerbuild from "@pulumi/dockerbuild";
+ * import * as docker_build from "@pulumi/docker-build";
*
- * const image = new dockerbuild.Image("image", {
+ * const image = new docker_build.Image("image", {
* builder: {
* name: "cloud-builder-name",
* },
@@ -364,9 +364,9 @@ import * as utilities from "./utilities";
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
- * import * as dockerbuild from "@pulumi/dockerbuild";
+ * import * as docker_build from "@pulumi/docker-build";
*
- * const image = new dockerbuild.Image("image", {
+ * const image = new docker_build.Image("image", {
* buildArgs: {
* SET_ME_TO_TRUE: "true",
* },
@@ -379,9 +379,9 @@ import * as utilities from "./utilities";
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
- * import * as dockerbuild from "@pulumi/dockerbuild";
+ * import * as docker_build from "@pulumi/docker-build";
*
- * const image = new dockerbuild.Image("image", {
+ * const image = new docker_build.Image("image", {
* context: {
* location: "app",
* },
@@ -392,9 +392,9 @@ import * as utilities from "./utilities";
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
- * import * as dockerbuild from "@pulumi/dockerbuild";
+ * import * as docker_build from "@pulumi/docker-build";
*
- * const image = new dockerbuild.Image("image", {context: {
+ * const image = new docker_build.Image("image", {context: {
* location: "app",
* named: {
* "golang:latest": {
@@ -407,9 +407,9 @@ import * as utilities from "./utilities";
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
- * import * as dockerbuild from "@pulumi/dockerbuild";
+ * import * as docker_build from "@pulumi/docker-build";
*
- * const image = new dockerbuild.Image("image", {context: {
+ * const image = new docker_build.Image("image", {context: {
* location: "https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile",
* }});
* ```
@@ -417,9 +417,9 @@ import * as utilities from "./utilities";
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
- * import * as dockerbuild from "@pulumi/dockerbuild";
+ * import * as docker_build from "@pulumi/docker-build";
*
- * const image = new dockerbuild.Image("image", {
+ * const image = new docker_build.Image("image", {
* context: {
* location: "app",
* },
@@ -434,9 +434,9 @@ import * as utilities from "./utilities";
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
- * import * as dockerbuild from "@pulumi/dockerbuild";
+ * import * as docker_build from "@pulumi/docker-build";
*
- * const image = new dockerbuild.Image("image", {
+ * const image = new docker_build.Image("image", {
* context: {
* location: "https://github.com/docker-library/hello-world.git",
* },
@@ -449,9 +449,9 @@ import * as utilities from "./utilities";
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
- * import * as dockerbuild from "@pulumi/dockerbuild";
+ * import * as docker_build from "@pulumi/docker-build";
*
- * const image = new dockerbuild.Image("image", {
+ * const image = new docker_build.Image("image", {
* context: {
* location: "app",
* },
diff --git a/sdk/nodejs/package.json b/sdk/nodejs/package.json
index 88fe31a..5e14775 100644
--- a/sdk/nodejs/package.json
+++ b/sdk/nodejs/package.json
@@ -4,9 +4,10 @@
"keywords": [
"docker",
"buildkit",
- "buildx"
+ "buildx",
+ "kind/native"
],
- "homepage": "https://pulumi.io",
+ "homepage": "https://pulumi.com",
"repository": "https://github.com/pulumi/pulumi-docker-build",
"license": "Apache-2.0",
"scripts": {
@@ -21,7 +22,6 @@
},
"pulumi": {
"resource": true,
- "name": "docker-build",
- "server": "github.com/pulumi/pulumi-docker-build"
+ "name": "docker-build"
}
}
diff --git a/sdk/nodejs/utilities.ts b/sdk/nodejs/utilities.ts
index ca55188..fb0d823 100644
--- a/sdk/nodejs/utilities.ts
+++ b/sdk/nodejs/utilities.ts
@@ -53,7 +53,7 @@ export function getVersion(): string {
/** @internal */
export function resourceOptsDefaults(): any {
- return { version: getVersion(), pluginDownloadURL: "github.com/pulumi/pulumi-docker-build" };
+ return { version: getVersion() };
}
/** @internal */
diff --git a/sdk/python/pulumi_docker_build/_utilities.py b/sdk/python/pulumi_docker_build/_utilities.py
index 55b1f14..0eb0046 100644
--- a/sdk/python/pulumi_docker_build/_utilities.py
+++ b/sdk/python/pulumi_docker_build/_utilities.py
@@ -288,4 +288,4 @@ async def _await_output(o: pulumi.Output[typing.Any]) -> typing.Tuple[object, bo
)
def get_plugin_download_url():
- return "github.com/pulumi/pulumi-docker-build"
+ return None
diff --git a/sdk/python/pulumi_docker_build/image.py b/sdk/python/pulumi_docker_build/image.py
index ffea363..31f621f 100644
--- a/sdk/python/pulumi_docker_build/image.py
+++ b/sdk/python/pulumi_docker_build/image.py
@@ -726,28 +726,28 @@ class Image(pulumi.CustomResource):
```python
import pulumi
import pulumi_aws as aws
- import pulumi_dockerbuild as dockerbuild
+ import pulumi_docker_build as docker_build
ecr_repository = aws.ecr.Repository("ecr-repository")
auth_token = aws.ecr.get_authorization_token_output(registry_id=ecr_repository.registry_id)
- my_image = dockerbuild.Image("my-image",
- cache_from=[dockerbuild.CacheFromArgs(
- registry=dockerbuild.CacheFromRegistryArgs(
+ my_image = docker_build.Image("my-image",
+ cache_from=[docker_build.CacheFromArgs(
+ registry=docker_build.CacheFromRegistryArgs(
ref=ecr_repository.repository_url.apply(lambda repository_url: f"{repository_url}:cache"),
),
)],
- cache_to=[dockerbuild.CacheToArgs(
- registry=dockerbuild.CacheToRegistryArgs(
+ cache_to=[docker_build.CacheToArgs(
+ registry=docker_build.CacheToRegistryArgs(
image_manifest=True,
oci_media_types=True,
ref=ecr_repository.repository_url.apply(lambda repository_url: f"{repository_url}:cache"),
),
)],
- context=dockerbuild.BuildContextArgs(
+ context=docker_build.BuildContextArgs(
location="./app",
),
push=True,
- registries=[dockerbuild.RegistryArgs(
+ registries=[docker_build.RegistryArgs(
address=ecr_repository.repository_url,
password=auth_token.password,
username=auth_token.user_name,
@@ -758,28 +758,28 @@ class Image(pulumi.CustomResource):
### Multi-platform image
```python
import pulumi
- import pulumi_dockerbuild as dockerbuild
+ import pulumi_docker_build as docker_build
- image = dockerbuild.Image("image",
- context=dockerbuild.BuildContextArgs(
+ image = docker_build.Image("image",
+ context=docker_build.BuildContextArgs(
location="app",
),
platforms=[
- dockerbuild.Platform.PLAN9_AMD64,
- dockerbuild.Platform.PLAN9_386,
+ docker_build.Platform.PLAN9_AMD64,
+ docker_build.Platform.PLAN9_386,
])
```
### Registry export
```python
import pulumi
- import pulumi_dockerbuild as dockerbuild
+ import pulumi_docker_build as docker_build
- image = dockerbuild.Image("image",
- context=dockerbuild.BuildContextArgs(
+ image = docker_build.Image("image",
+ context=docker_build.BuildContextArgs(
location="app",
),
push=True,
- registries=[dockerbuild.RegistryArgs(
+ registries=[docker_build.RegistryArgs(
address="docker.io",
password=docker_hub_password,
username="pulumibot",
@@ -790,34 +790,34 @@ class Image(pulumi.CustomResource):
### Caching
```python
import pulumi
- import pulumi_dockerbuild as dockerbuild
+ import pulumi_docker_build as docker_build
- image = dockerbuild.Image("image",
- cache_from=[dockerbuild.CacheFromArgs(
- local=dockerbuild.CacheFromLocalArgs(
+ image = docker_build.Image("image",
+ cache_from=[docker_build.CacheFromArgs(
+ local=docker_build.CacheFromLocalArgs(
src="tmp/cache",
),
)],
- cache_to=[dockerbuild.CacheToArgs(
- local=dockerbuild.CacheToLocalArgs(
+ cache_to=[docker_build.CacheToArgs(
+ local=docker_build.CacheToLocalArgs(
dest="tmp/cache",
- mode=dockerbuild.CacheMode.MAX,
+ mode=docker_build.CacheMode.MAX,
),
)],
- context=dockerbuild.BuildContextArgs(
+ context=docker_build.BuildContextArgs(
location="app",
))
```
### Docker Build Cloud
```python
import pulumi
- import pulumi_dockerbuild as dockerbuild
+ import pulumi_docker_build as docker_build
- image = dockerbuild.Image("image",
- builder=dockerbuild.BuilderConfigArgs(
+ image = docker_build.Image("image",
+ builder=docker_build.BuilderConfigArgs(
name="cloud-builder-name",
),
- context=dockerbuild.BuildContextArgs(
+ context=docker_build.BuildContextArgs(
location="app",
),
exec_=True)
@@ -825,23 +825,23 @@ class Image(pulumi.CustomResource):
### Build arguments
```python
import pulumi
- import pulumi_dockerbuild as dockerbuild
+ import pulumi_docker_build as docker_build
- image = dockerbuild.Image("image",
+ image = docker_build.Image("image",
build_args={
"SET_ME_TO_TRUE": "true",
},
- context=dockerbuild.BuildContextArgs(
+ context=docker_build.BuildContextArgs(
location="app",
))
```
### Build target
```python
import pulumi
- import pulumi_dockerbuild as dockerbuild
+ import pulumi_docker_build as docker_build
- image = dockerbuild.Image("image",
- context=dockerbuild.BuildContextArgs(
+ image = docker_build.Image("image",
+ context=docker_build.BuildContextArgs(
location="app",
),
target="build-me")
@@ -849,12 +849,12 @@ class Image(pulumi.CustomResource):
### Named contexts
```python
import pulumi
- import pulumi_dockerbuild as dockerbuild
+ import pulumi_docker_build as docker_build
- image = dockerbuild.Image("image", context=dockerbuild.BuildContextArgs(
+ image = docker_build.Image("image", context=docker_build.BuildContextArgs(
location="app",
named={
- "golang:latest": dockerbuild.ContextArgs(
+ "golang:latest": docker_build.ContextArgs(
location="docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984",
),
},
@@ -863,22 +863,22 @@ class Image(pulumi.CustomResource):
### Remote context
```python
import pulumi
- import pulumi_dockerbuild as dockerbuild
+ import pulumi_docker_build as docker_build
- image = dockerbuild.Image("image", context=dockerbuild.BuildContextArgs(
+ image = docker_build.Image("image", context=docker_build.BuildContextArgs(
location="https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile",
))
```
### Inline Dockerfile
```python
import pulumi
- import pulumi_dockerbuild as dockerbuild
+ import pulumi_docker_build as docker_build
- image = dockerbuild.Image("image",
- context=dockerbuild.BuildContextArgs(
+ image = docker_build.Image("image",
+ context=docker_build.BuildContextArgs(
location="app",
),
- dockerfile=dockerbuild.DockerfileArgs(
+ dockerfile=docker_build.DockerfileArgs(
inline=\"\"\"FROM busybox
COPY hello.c ./
\"\"\",
@@ -887,27 +887,27 @@ class Image(pulumi.CustomResource):
### Remote context
```python
import pulumi
- import pulumi_dockerbuild as dockerbuild
+ import pulumi_docker_build as docker_build
- image = dockerbuild.Image("image",
- context=dockerbuild.BuildContextArgs(
+ image = docker_build.Image("image",
+ context=docker_build.BuildContextArgs(
location="https://github.com/docker-library/hello-world.git",
),
- dockerfile=dockerbuild.DockerfileArgs(
+ dockerfile=docker_build.DockerfileArgs(
location="app/Dockerfile",
))
```
### Local export
```python
import pulumi
- import pulumi_dockerbuild as dockerbuild
+ import pulumi_docker_build as docker_build
- image = dockerbuild.Image("image",
- context=dockerbuild.BuildContextArgs(
+ image = docker_build.Image("image",
+ context=docker_build.BuildContextArgs(
location="app",
),
- exports=[dockerbuild.ExportArgs(
- docker=dockerbuild.ExportDockerArgs(
+ exports=[docker_build.ExportArgs(
+ docker=docker_build.ExportDockerArgs(
tar=True,
),
)])
@@ -1163,28 +1163,28 @@ class Image(pulumi.CustomResource):
```python
import pulumi
import pulumi_aws as aws
- import pulumi_dockerbuild as dockerbuild
+ import pulumi_docker_build as docker_build
ecr_repository = aws.ecr.Repository("ecr-repository")
auth_token = aws.ecr.get_authorization_token_output(registry_id=ecr_repository.registry_id)
- my_image = dockerbuild.Image("my-image",
- cache_from=[dockerbuild.CacheFromArgs(
- registry=dockerbuild.CacheFromRegistryArgs(
+ my_image = docker_build.Image("my-image",
+ cache_from=[docker_build.CacheFromArgs(
+ registry=docker_build.CacheFromRegistryArgs(
ref=ecr_repository.repository_url.apply(lambda repository_url: f"{repository_url}:cache"),
),
)],
- cache_to=[dockerbuild.CacheToArgs(
- registry=dockerbuild.CacheToRegistryArgs(
+ cache_to=[docker_build.CacheToArgs(
+ registry=docker_build.CacheToRegistryArgs(
image_manifest=True,
oci_media_types=True,
ref=ecr_repository.repository_url.apply(lambda repository_url: f"{repository_url}:cache"),
),
)],
- context=dockerbuild.BuildContextArgs(
+ context=docker_build.BuildContextArgs(
location="./app",
),
push=True,
- registries=[dockerbuild.RegistryArgs(
+ registries=[docker_build.RegistryArgs(
address=ecr_repository.repository_url,
password=auth_token.password,
username=auth_token.user_name,
@@ -1195,28 +1195,28 @@ class Image(pulumi.CustomResource):
### Multi-platform image
```python
import pulumi
- import pulumi_dockerbuild as dockerbuild
+ import pulumi_docker_build as docker_build
- image = dockerbuild.Image("image",
- context=dockerbuild.BuildContextArgs(
+ image = docker_build.Image("image",
+ context=docker_build.BuildContextArgs(
location="app",
),
platforms=[
- dockerbuild.Platform.PLAN9_AMD64,
- dockerbuild.Platform.PLAN9_386,
+ docker_build.Platform.PLAN9_AMD64,
+ docker_build.Platform.PLAN9_386,
])
```
### Registry export
```python
import pulumi
- import pulumi_dockerbuild as dockerbuild
+ import pulumi_docker_build as docker_build
- image = dockerbuild.Image("image",
- context=dockerbuild.BuildContextArgs(
+ image = docker_build.Image("image",
+ context=docker_build.BuildContextArgs(
location="app",
),
push=True,
- registries=[dockerbuild.RegistryArgs(
+ registries=[docker_build.RegistryArgs(
address="docker.io",
password=docker_hub_password,
username="pulumibot",
@@ -1227,34 +1227,34 @@ class Image(pulumi.CustomResource):
### Caching
```python
import pulumi
- import pulumi_dockerbuild as dockerbuild
+ import pulumi_docker_build as docker_build
- image = dockerbuild.Image("image",
- cache_from=[dockerbuild.CacheFromArgs(
- local=dockerbuild.CacheFromLocalArgs(
+ image = docker_build.Image("image",
+ cache_from=[docker_build.CacheFromArgs(
+ local=docker_build.CacheFromLocalArgs(
src="tmp/cache",
),
)],
- cache_to=[dockerbuild.CacheToArgs(
- local=dockerbuild.CacheToLocalArgs(
+ cache_to=[docker_build.CacheToArgs(
+ local=docker_build.CacheToLocalArgs(
dest="tmp/cache",
- mode=dockerbuild.CacheMode.MAX,
+ mode=docker_build.CacheMode.MAX,
),
)],
- context=dockerbuild.BuildContextArgs(
+ context=docker_build.BuildContextArgs(
location="app",
))
```
### Docker Build Cloud
```python
import pulumi
- import pulumi_dockerbuild as dockerbuild
+ import pulumi_docker_build as docker_build
- image = dockerbuild.Image("image",
- builder=dockerbuild.BuilderConfigArgs(
+ image = docker_build.Image("image",
+ builder=docker_build.BuilderConfigArgs(
name="cloud-builder-name",
),
- context=dockerbuild.BuildContextArgs(
+ context=docker_build.BuildContextArgs(
location="app",
),
exec_=True)
@@ -1262,23 +1262,23 @@ class Image(pulumi.CustomResource):
### Build arguments
```python
import pulumi
- import pulumi_dockerbuild as dockerbuild
+ import pulumi_docker_build as docker_build
- image = dockerbuild.Image("image",
+ image = docker_build.Image("image",
build_args={
"SET_ME_TO_TRUE": "true",
},
- context=dockerbuild.BuildContextArgs(
+ context=docker_build.BuildContextArgs(
location="app",
))
```
### Build target
```python
import pulumi
- import pulumi_dockerbuild as dockerbuild
+ import pulumi_docker_build as docker_build
- image = dockerbuild.Image("image",
- context=dockerbuild.BuildContextArgs(
+ image = docker_build.Image("image",
+ context=docker_build.BuildContextArgs(
location="app",
),
target="build-me")
@@ -1286,12 +1286,12 @@ class Image(pulumi.CustomResource):
### Named contexts
```python
import pulumi
- import pulumi_dockerbuild as dockerbuild
+ import pulumi_docker_build as docker_build
- image = dockerbuild.Image("image", context=dockerbuild.BuildContextArgs(
+ image = docker_build.Image("image", context=docker_build.BuildContextArgs(
location="app",
named={
- "golang:latest": dockerbuild.ContextArgs(
+ "golang:latest": docker_build.ContextArgs(
location="docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984",
),
},
@@ -1300,22 +1300,22 @@ class Image(pulumi.CustomResource):
### Remote context
```python
import pulumi
- import pulumi_dockerbuild as dockerbuild
+ import pulumi_docker_build as docker_build
- image = dockerbuild.Image("image", context=dockerbuild.BuildContextArgs(
+ image = docker_build.Image("image", context=docker_build.BuildContextArgs(
location="https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile",
))
```
### Inline Dockerfile
```python
import pulumi
- import pulumi_dockerbuild as dockerbuild
+ import pulumi_docker_build as docker_build
- image = dockerbuild.Image("image",
- context=dockerbuild.BuildContextArgs(
+ image = docker_build.Image("image",
+ context=docker_build.BuildContextArgs(
location="app",
),
- dockerfile=dockerbuild.DockerfileArgs(
+ dockerfile=docker_build.DockerfileArgs(
inline=\"\"\"FROM busybox
COPY hello.c ./
\"\"\",
@@ -1324,27 +1324,27 @@ class Image(pulumi.CustomResource):
### Remote context
```python
import pulumi
- import pulumi_dockerbuild as dockerbuild
+ import pulumi_docker_build as docker_build
- image = dockerbuild.Image("image",
- context=dockerbuild.BuildContextArgs(
+ image = docker_build.Image("image",
+ context=docker_build.BuildContextArgs(
location="https://github.com/docker-library/hello-world.git",
),
- dockerfile=dockerbuild.DockerfileArgs(
+ dockerfile=docker_build.DockerfileArgs(
location="app/Dockerfile",
))
```
### Local export
```python
import pulumi
- import pulumi_dockerbuild as dockerbuild
+ import pulumi_docker_build as docker_build
- image = dockerbuild.Image("image",
- context=dockerbuild.BuildContextArgs(
+ image = docker_build.Image("image",
+ context=docker_build.BuildContextArgs(
location="app",
),
- exports=[dockerbuild.ExportArgs(
- docker=dockerbuild.ExportDockerArgs(
+ exports=[docker_build.ExportArgs(
+ docker=docker_build.ExportDockerArgs(
tar=True,
),
)])
diff --git a/sdk/python/pulumi_docker_build/pulumi-plugin.json b/sdk/python/pulumi_docker_build/pulumi-plugin.json
index 9eda045..4580097 100644
--- a/sdk/python/pulumi_docker_build/pulumi-plugin.json
+++ b/sdk/python/pulumi_docker_build/pulumi-plugin.json
@@ -1,5 +1,4 @@
{
"resource": true,
- "name": "docker-build",
- "server": "github.com/pulumi/pulumi-docker-build"
+ "name": "docker-build"
}
diff --git a/sdk/python/pyproject.toml b/sdk/python/pyproject.toml
index b5cdc14..328da59 100644
--- a/sdk/python/pyproject.toml
+++ b/sdk/python/pyproject.toml
@@ -2,14 +2,14 @@
name = "pulumi_docker_build"
description = "A Pulumi provider for Docker buildx"
dependencies = ["parver>=0.2.1", "pulumi>=3.0.0,<4.0.0", "semver>=2.8.1"]
- keywords = ["docker", "buildkit", "buildx"]
+ keywords = ["docker", "buildkit", "buildx", "kind/native"]
readme = "README.md"
requires-python = ">=3.8"
version = "0.0.0"
[project.license]
text = "Apache-2.0"
[project.urls]
- Homepage = "https://pulumi.io"
+ Homepage = "https://pulumi.com"
Repository = "https://github.com/pulumi/pulumi-docker-build"
[build-system]