diff --git a/.golangci.yml b/.golangci.yml index 6dca63a..32bafea 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -33,5 +33,5 @@ linters-settings: - blank # Blank section: contains all blank imports. - default # Default section: contains all imports that could not be matched to another section type. - prefix(github.com/pulumi/) # Custom section: groups all imports with the github.com/pulumi/ prefix. - - prefix(github.com/brandonkal/pulumi-incus) # Custom section: local imports + - prefix(git.kalinow.ski/nimbus/pulumi-incus) # Custom section: local imports custom-order: true diff --git a/Earthfile b/Earthfile new file mode 100644 index 0000000..4a8623e --- /dev/null +++ b/Earthfile @@ -0,0 +1,75 @@ +VERSION 0.8 + +# tfgen builds the tfgen binary and nodejs TypeScript SDK +tfgen: + FROM golang:1.24.2 + WORKDIR /go/src/git.kalinow.ski/nimbus/pulumi-incus/provider + ENV WORKING_DIR=/go/src/git.kalinow.ski/nimbus/pulumi-incus + # ENV PULUMI_HOME=$(WORKING_DIR)/.pulumi + # ENV PATH=$(WORKING_DIR)/.pulumi/bin:$(PATH) + RUN mkdir -p ../.pulumi/examples-cache cmd/pulumi-resource-incus + COPY --dir provider/go.mod provider/go.sum provider/shim . + RUN go list -f "{{slice .Version 1}}" -m github.com/pulumi/pulumi/pkg/v3 > ../.pulumi/version + ENV PULUMI_HOME=${WORKING_DIR}/.pulumi + ENV PATH=${WORKING_DIR}/.pulumi/bin:$PATH + RUN curl -fsSL https://get.pulumi.com | HOME=${WORKING_DIR} sh -s -- --version "$(cat .pulumi/version)" + RUN pulumi plugin install converter terraform 1.0.16 + RUN go mod download + ENV PROVIDER_VERSION=1.0.0-alpha.0+dev + ENV LDFLAGS_PROJ_VERSION="-X git.kalinow.ski/nimbus/pulumi-incus/provider/pkg/version.Version=${PROVIDER_VERSION}" + ENV PULUMI_CONVERT=1 + ENV PULUMI_CONVERT_EXAMPLES_CACHE_DIR=/go/src/git.kalinow.ski/nimbus/pulumi-incus/provider/.pulumi/examples-cache + ENV PULUMI_DISABLE_AUTOMATIC_PLUGIN_ACQUISITION=1 + ENV PULUMI_MISSING_DOCS_ERROR=false + + COPY --dir provider/resources.go provider/pkg . + COPY provider/cmd/pulumi-tfgen-incus cmd/pulumi-tfgen-incus + RUN echo '{}' > cmd/pulumi-resource-incus/bridge-metadata.json + RUN go build -o /bin/pulumi-tfgen-incus -ldflags "${LDFLAGS_PROJ_VERSION}" ./cmd/pulumi-tfgen-incus + RUN /bin/pulumi-tfgen-incus schema --out cmd/pulumi-resource-incus + RUN sed -i -e 's/souce/source/g' cmd/pulumi-resource-incus/schema.json + WORKDIR /go/src/git.kalinow.ski/nimbus/pulumi-incus + # Now that the schema.json is generated, we can generate sdks + RUN /bin/pulumi-tfgen-incus nodejs --out sdk/nodejs/ + SAVE ARTIFACT sdk/nodejs + +# nodejs builds the nodejs SDK using the generated tfgen file +nodejs: + FROM node:23-bookworm + WORKDIR /root/sdk/nodejs + RUN corepack enable pnpm + COPY +tfgen/nodejs . + RUN pnpm install && pnpm tsc && cp package.json pnpm-lock.yaml ./bin/ + COPY README.md LICENSE bin + SAVE ARTIFACT bin AS LOCAL sdk/nodejs/bin + +# publish publishes the nodejs SDK +publish: + FROM +nodejs + RUN --push --secret TOKEN=token-package-rw npm config set @kiterun:registry=https://git.kalinow.ski/api/packages/kiterun/npm/ && \ + npm config set -- '//git.kalinow.ski/api/packages/kiterun/npm/:_authToken' "$TOKEN" && \ + npm publish sdk/nodejs/bin + +# provider builds and publishes the provider binaries +provider: + FROM +tfgen + WORKDIR /go/src/git.kalinow.ski/nimbus/pulumi-incus/provider + RUN mkdir -p /root/dist + COPY provider/cmd/pulumi-resource-incus/main.go cmd/pulumi-resource-incus/main.go + COPY README.md LICENSE .. + DO +BINARY --GOOS=linux --GOARCH=amd64 + DO +BINARY --GOOS=linux --GOARCH=arm64 + DO +BINARY --GOOS=darwin --GOARCH=amd64 + DO +BINARY --GOOS=darwin --GOARCH=arm64 + SAVE ARTIFACT /root/dist AS LOCAL dist + # ENV FILENAME=pulumi-resource-incus-v${VERSION}-linux-amd64.tar.gz + # RUN tar -czvf $FILENAME pulumi-resource-incus + # RUN --push --secret TOKEN=token-package-rw curl --user kiterun:$TOKEN --upload-file $FILENAME \ + # https://git.kalinow.ski/api/packages/kiterun/generic/pulumi-incus/$PROVIDER_VERSION/$FILENAME + +BINARY: + FUNCTION + ARG GOOS + ARG GOARCH + RUN cd $WORKING_DIR/provider && GOOS=$GOOS GOARCH=$GOARCH CGO_ENABLED=0 go build -o ../bin/$GOOS-$GOARCH/pulumi-resource-incus -ldflags "${LDFLAGS_PROJ_VERSION} -s -w" git.kalinow.ski/nimbus/pulumi-incus/provider/cmd/pulumi-resource-incus + RUN cd $WORKING_DIR && tar --gzip -cf /root/dist/pulumi-resource-incus-v${PROVIDER_VERSION}-$GOOS-$GOARCH.tar.gz README.md LICENSE -C bin/$GOOS-$GOARCH . diff --git a/Makefile b/Makefile index f796991..86d48cd 100644 --- a/Makefile +++ b/Makefile @@ -1,8 +1,8 @@ # WARNING: This file is autogenerated - changes will be overwritten when regenerated by https://github.com/pulumi/ci-mgmt PACK := incus -ORG := brandonkal -PROJECT := github.com/$(ORG)/pulumi-$(PACK) +ORG := nimbus +PROJECT := git.kalinow.ski/$(ORG)/pulumi-$(PACK) PROVIDER_PATH := provider VERSION_PATH := $(PROVIDER_PATH)/pkg/version.Version CODEGEN := pulumi-tfgen-$(PACK) diff --git a/examples/examples_test.go b/examples/examples_test.go index c116921..b20d3e6 100644 --- a/examples/examples_test.go +++ b/examples/examples_test.go @@ -49,7 +49,7 @@ func getGoBaseOptions(t *testing.T) integration.ProgramTestOptions { base := getBaseOptions(t) baseJS := base.With(integration.ProgramTestOptions{ Dependencies: []string{ - fmt.Sprintf("github.com/brandonkal/pulumi-incus/sdk=%s", rootSdkPath), + fmt.Sprintf("git.kalinow.ski/nimbus/pulumi-incus/sdk=%s", rootSdkPath), }, Env: []string{ fmt.Sprintf("PULUMI_GO_DEP_ROOT=%s", goDepRoot), diff --git a/examples/go.mod b/examples/go.mod index f682ae1..8c15b6c 100644 --- a/examples/go.mod +++ b/examples/go.mod @@ -1,4 +1,4 @@ -module github.com/brandonkal/pulumi-incus/examples +module git.kalinow.ski/nimbus/pulumi-incus/examples go 1.22 diff --git a/provider/cmd/pulumi-resource-incus/bridge-metadata.json b/provider/cmd/pulumi-resource-incus/bridge-metadata.json index 11e7d4c..abf7569 100644 --- a/provider/cmd/pulumi-resource-incus/bridge-metadata.json +++ b/provider/cmd/pulumi-resource-incus/bridge-metadata.json @@ -83,13 +83,6 @@ }, "incus_network_lb": { "current": "incus:index/networkLoadBalancer:NetworkLoadBalancer", - "past": [ - { - "name": "incus:index/networkLb:NetworkLb", - "inCodegen": true, - "majorVersion": 1 - } - ], "majorVersion": 1, "fields": { "backend": { @@ -179,13 +172,5 @@ } } }, - "auto-settings": { - "resources": { - "incus_network_lb": { - "aliases": [ - "incus:index/networkLb:NetworkLb" - ] - } - } - } + "auto-settings": {} } \ No newline at end of file diff --git a/provider/cmd/pulumi-resource-incus/main.go b/provider/cmd/pulumi-resource-incus/main.go index 85bad00..1583e02 100644 --- a/provider/cmd/pulumi-resource-incus/main.go +++ b/provider/cmd/pulumi-resource-incus/main.go @@ -20,7 +20,7 @@ import ( "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/pf/tfbridge" - incus "github.com/brandonkal/pulumi-incus/provider" + incus "git.kalinow.ski/nimbus/pulumi-incus/provider" ) //go:embed schema.json diff --git a/provider/cmd/pulumi-resource-incus/schema.json b/provider/cmd/pulumi-resource-incus/schema.json index c9d9207..dd4ae3e 100644 --- a/provider/cmd/pulumi-resource-incus/schema.json +++ b/provider/cmd/pulumi-resource-incus/schema.json @@ -26,7 +26,7 @@ "respectSchemaVersion": true }, "go": { - "importBasePath": "github.com/brandonkal/pulumi-incus/sdk/go/incus", + "importBasePath": "git.kalinow.ski/nimbus/pulumi-incus/sdk/go/incus", "generateResourceContainerTypes": true, "generateExtraInputTypes": true, "respectSchemaVersion": true @@ -461,79 +461,6 @@ } } }, - "incus:index/NetworkLbBackend:NetworkLbBackend": { - "properties": { - "description": { - "type": "string", - "description": "LB backend description\n" - }, - "name": { - "type": "string", - "description": "LB backend name\n" - }, - "targetAddress": { - "type": "string", - "description": "LB backend target address\n" - }, - "targetPort": { - "type": "string", - "description": "LB backend target port\n" - } - }, - "type": "object", - "required": [ - "name", - "targetAddress" - ], - "language": { - "nodejs": { - "requiredOutputs": [ - "description", - "name", - "targetAddress", - "targetPort" - ] - } - } - }, - "incus:index/NetworkLbPort:NetworkLbPort": { - "properties": { - "description": { - "type": "string", - "description": "Port description\n" - }, - "listenPort": { - "type": "string", - "description": "Port to listen to\n" - }, - "protocol": { - "type": "string", - "description": "Port protocol\n" - }, - "targetBackends": { - "type": "array", - "items": { - "type": "string" - }, - "description": "List of target LB backends\n" - } - }, - "type": "object", - "required": [ - "listenPort", - "targetBackends" - ], - "language": { - "nodejs": { - "requiredOutputs": [ - "description", - "listenPort", - "protocol", - "targetBackends" - ] - } - } - }, "incus:index/NetworkLoadBalancerBackend:NetworkLoadBalancerBackend": { "properties": { "description": { @@ -1060,7 +987,7 @@ } }, "incus:index/image:Image": { - "description": "## # incus.Image\n\nManages a locally-stored Incus image.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as incus from \"@kiterun/incus\";\n\nconst alpine = new incus.Image(\"alpine\", {sourceImage: {\n remote: \"images\",\n name: \"alpine/edge\",\n}});\nconst test1 = new incus.Instance(\"test1\", {\n name: \"test1\",\n image: alpine.fingerprint,\n ephemeral: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_incus as incus\n\nalpine = incus.Image(\"alpine\", source_image={\n \"remote\": \"images\",\n \"name\": \"alpine/edge\",\n})\ntest1 = incus.Instance(\"test1\",\n name=\"test1\",\n image=alpine.fingerprint,\n ephemeral=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Incus = Pulumi.Incus;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var alpine = new Incus.Image(\"alpine\", new()\n {\n SourceImage = new Incus.Inputs.ImageSourceImageArgs\n {\n Remote = \"images\",\n Name = \"alpine/edge\",\n },\n });\n\n var test1 = new Incus.Instance(\"test1\", new()\n {\n Name = \"test1\",\n Image = alpine.Fingerprint,\n Ephemeral = false,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/brandonkal/pulumi-incus/sdk/go/incus\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\talpine, err := incus.NewImage(ctx, \"alpine\", \u0026incus.ImageArgs{\n\t\t\tSourceImage: \u0026incus.ImageSourceImageArgs{\n\t\t\t\tRemote: pulumi.String(\"images\"),\n\t\t\t\tName: pulumi.String(\"alpine/edge\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = incus.NewInstance(ctx, \"test1\", \u0026incus.InstanceArgs{\n\t\t\tName: pulumi.String(\"test1\"),\n\t\t\tImage: alpine.Fingerprint,\n\t\t\tEphemeral: pulumi.Bool(false),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.incus.Image;\nimport com.pulumi.incus.ImageArgs;\nimport com.pulumi.incus.inputs.ImageSourceImageArgs;\nimport com.pulumi.incus.Instance;\nimport com.pulumi.incus.InstanceArgs;\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 alpine = new Image(\"alpine\", ImageArgs.builder()\n .sourceImage(ImageSourceImageArgs.builder()\n .remote(\"images\")\n .name(\"alpine/edge\")\n .build())\n .build());\n\n var test1 = new Instance(\"test1\", InstanceArgs.builder()\n .name(\"test1\")\n .image(alpine.fingerprint())\n .ephemeral(false)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n alpine:\n type: incus:Image\n properties:\n sourceImage:\n remote: images\n name: alpine/edge\n test1:\n type: incus:Instance\n properties:\n name: test1\n image: ${alpine.fingerprint}\n ephemeral: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Notes\n\n* See the Incus [documentation](https://linuxcontainers.org/incus/docs/main/howto/images_remote) for more info on default image remotes.\n", + "description": "## # incus.Image\n\nManages a locally-stored Incus image.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as incus from \"@kiterun/incus\";\n\nconst alpine = new incus.Image(\"alpine\", {sourceImage: {\n remote: \"images\",\n name: \"alpine/edge\",\n}});\nconst test1 = new incus.Instance(\"test1\", {\n name: \"test1\",\n image: alpine.fingerprint,\n ephemeral: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_incus as incus\n\nalpine = incus.Image(\"alpine\", source_image={\n \"remote\": \"images\",\n \"name\": \"alpine/edge\",\n})\ntest1 = incus.Instance(\"test1\",\n name=\"test1\",\n image=alpine.fingerprint,\n ephemeral=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Incus = Pulumi.Incus;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var alpine = new Incus.Image(\"alpine\", new()\n {\n SourceImage = new Incus.Inputs.ImageSourceImageArgs\n {\n Remote = \"images\",\n Name = \"alpine/edge\",\n },\n });\n\n var test1 = new Incus.Instance(\"test1\", new()\n {\n Name = \"test1\",\n Image = alpine.Fingerprint,\n Ephemeral = false,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"git.kalinow.ski/nimbus/pulumi-incus/sdk/go/incus\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\talpine, err := incus.NewImage(ctx, \"alpine\", \u0026incus.ImageArgs{\n\t\t\tSourceImage: \u0026incus.ImageSourceImageArgs{\n\t\t\t\tRemote: pulumi.String(\"images\"),\n\t\t\t\tName: pulumi.String(\"alpine/edge\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = incus.NewInstance(ctx, \"test1\", \u0026incus.InstanceArgs{\n\t\t\tName: pulumi.String(\"test1\"),\n\t\t\tImage: alpine.Fingerprint,\n\t\t\tEphemeral: pulumi.Bool(false),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.incus.Image;\nimport com.pulumi.incus.ImageArgs;\nimport com.pulumi.incus.inputs.ImageSourceImageArgs;\nimport com.pulumi.incus.Instance;\nimport com.pulumi.incus.InstanceArgs;\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 alpine = new Image(\"alpine\", ImageArgs.builder()\n .sourceImage(ImageSourceImageArgs.builder()\n .remote(\"images\")\n .name(\"alpine/edge\")\n .build())\n .build());\n\n var test1 = new Instance(\"test1\", InstanceArgs.builder()\n .name(\"test1\")\n .image(alpine.fingerprint())\n .ephemeral(false)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n alpine:\n type: incus:Image\n properties:\n sourceImage:\n remote: images\n name: alpine/edge\n test1:\n type: incus:Instance\n properties:\n name: test1\n image: ${alpine.fingerprint}\n ephemeral: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Notes\n\n* See the Incus [documentation](https://linuxcontainers.org/incus/docs/main/howto/images_remote) for more info on default image remotes.\n", "properties": { "aliases": { "type": "array", @@ -1268,7 +1195,7 @@ }, "sourceFile": { "type": "string", - "description": "*Optional* - The source backup file from which the instance should be restored. For handling of storage pool, see examples.\n" + "description": "*Optional* - The souce backup file from which the instance should be restored. For handling of storage pool, see examples.\n" }, "sourceInstance": { "$ref": "#/types/incus:index/InstanceSourceInstance:InstanceSourceInstance", @@ -1369,7 +1296,7 @@ }, "sourceFile": { "type": "string", - "description": "*Optional* - The source backup file from which the instance should be restored. For handling of storage pool, see examples.\n" + "description": "*Optional* - The souce backup file from which the instance should be restored. For handling of storage pool, see examples.\n" }, "sourceInstance": { "$ref": "#/types/incus:index/InstanceSourceInstance:InstanceSourceInstance", @@ -1465,7 +1392,7 @@ }, "sourceFile": { "type": "string", - "description": "*Optional* - The source backup file from which the instance should be restored. For handling of storage pool, see examples.\n" + "description": "*Optional* - The souce backup file from which the instance should be restored. For handling of storage pool, see examples.\n" }, "sourceInstance": { "$ref": "#/types/incus:index/InstanceSourceInstance:InstanceSourceInstance", @@ -1495,7 +1422,7 @@ } }, "incus:index/instanceSnapshot:InstanceSnapshot": { - "description": "## # incus.InstanceSnapshot\n\nManages a snapshot of an Incus instance.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as incus from \"@kiterun/incus\";\n\nconst instance = new incus.Instance(\"instance\", {\n name: \"my-instance\",\n image: \"ubuntu\",\n ephemeral: false,\n});\nconst snap1 = new incus.InstanceSnapshot(\"snap1\", {\n name: \"my-snapshot-1\",\n instance: instance.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_incus as incus\n\ninstance = incus.Instance(\"instance\",\n name=\"my-instance\",\n image=\"ubuntu\",\n ephemeral=False)\nsnap1 = incus.InstanceSnapshot(\"snap1\",\n name=\"my-snapshot-1\",\n instance=instance.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Incus = Pulumi.Incus;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var instance = new Incus.Instance(\"instance\", new()\n {\n Name = \"my-instance\",\n Image = \"ubuntu\",\n Ephemeral = false,\n });\n\n var snap1 = new Incus.InstanceSnapshot(\"snap1\", new()\n {\n Name = \"my-snapshot-1\",\n Instance = instance.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/brandonkal/pulumi-incus/sdk/go/incus\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinstance, err := incus.NewInstance(ctx, \"instance\", \u0026incus.InstanceArgs{\n\t\t\tName: pulumi.String(\"my-instance\"),\n\t\t\tImage: pulumi.String(\"ubuntu\"),\n\t\t\tEphemeral: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = incus.NewInstanceSnapshot(ctx, \"snap1\", \u0026incus.InstanceSnapshotArgs{\n\t\t\tName: pulumi.String(\"my-snapshot-1\"),\n\t\t\tInstance: instance.Name,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.incus.Instance;\nimport com.pulumi.incus.InstanceArgs;\nimport com.pulumi.incus.InstanceSnapshot;\nimport com.pulumi.incus.InstanceSnapshotArgs;\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 instance = new Instance(\"instance\", InstanceArgs.builder()\n .name(\"my-instance\")\n .image(\"ubuntu\")\n .ephemeral(false)\n .build());\n\n var snap1 = new InstanceSnapshot(\"snap1\", InstanceSnapshotArgs.builder()\n .name(\"my-snapshot-1\")\n .instance(instance.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n instance:\n type: incus:Instance\n properties:\n name: my-instance\n image: ubuntu\n ephemeral: false\n snap1:\n type: incus:InstanceSnapshot\n properties:\n name: my-snapshot-1\n instance: ${instance.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "## # incus.InstanceSnapshot\n\nManages a snapshot of an Incus instance.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as incus from \"@kiterun/incus\";\n\nconst instance = new incus.Instance(\"instance\", {\n name: \"my-instance\",\n image: \"ubuntu\",\n ephemeral: false,\n});\nconst snap1 = new incus.InstanceSnapshot(\"snap1\", {\n name: \"my-snapshot-1\",\n instance: instance.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_incus as incus\n\ninstance = incus.Instance(\"instance\",\n name=\"my-instance\",\n image=\"ubuntu\",\n ephemeral=False)\nsnap1 = incus.InstanceSnapshot(\"snap1\",\n name=\"my-snapshot-1\",\n instance=instance.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Incus = Pulumi.Incus;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var instance = new Incus.Instance(\"instance\", new()\n {\n Name = \"my-instance\",\n Image = \"ubuntu\",\n Ephemeral = false,\n });\n\n var snap1 = new Incus.InstanceSnapshot(\"snap1\", new()\n {\n Name = \"my-snapshot-1\",\n Instance = instance.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"git.kalinow.ski/nimbus/pulumi-incus/sdk/go/incus\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinstance, err := incus.NewInstance(ctx, \"instance\", \u0026incus.InstanceArgs{\n\t\t\tName: pulumi.String(\"my-instance\"),\n\t\t\tImage: pulumi.String(\"ubuntu\"),\n\t\t\tEphemeral: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = incus.NewInstanceSnapshot(ctx, \"snap1\", \u0026incus.InstanceSnapshotArgs{\n\t\t\tName: pulumi.String(\"my-snapshot-1\"),\n\t\t\tInstance: instance.Name,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.incus.Instance;\nimport com.pulumi.incus.InstanceArgs;\nimport com.pulumi.incus.InstanceSnapshot;\nimport com.pulumi.incus.InstanceSnapshotArgs;\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 instance = new Instance(\"instance\", InstanceArgs.builder()\n .name(\"my-instance\")\n .image(\"ubuntu\")\n .ephemeral(false)\n .build());\n\n var snap1 = new InstanceSnapshot(\"snap1\", InstanceSnapshotArgs.builder()\n .name(\"my-snapshot-1\")\n .instance(instance.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n instance:\n type: incus:Instance\n properties:\n name: my-instance\n image: ubuntu\n ephemeral: false\n snap1:\n type: incus:InstanceSnapshot\n properties:\n name: my-snapshot-1\n instance: ${instance.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "createdAt": { "type": "integer", @@ -1972,7 +1899,7 @@ } }, "incus:index/networkIntegration:NetworkIntegration": { - "description": "## # incus.NetworkIntegration\n\nManage integrations between the local Incus deployment and remote networks hosted on Incus or other platforms. Currently available only for [OVN networks](https://linuxcontainers.org/incus/docs/main/reference/network_ovn/#network-ovn).\n\n## Basic Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as incus from \"@kiterun/incus\";\n\nconst _this = new incus.NetworkIntegration(\"this\", {\n name: \"ovn-region\",\n type: \"ovn\",\n config: {\n \"ovn.northbound_connection\": \"tcp:[192.0.2.12]:6645,tcp:[192.0.3.13]:6645,tcp:[192.0.3.14]:6645\",\n \"ovn.southbound_connection\": \"tcp:[192.0.2.12]:6646,tcp:[192.0.3.13]:6646,tcp:[192.0.3.14]:6646\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_incus as incus\n\nthis = incus.NetworkIntegration(\"this\",\n name=\"ovn-region\",\n type=\"ovn\",\n config={\n \"ovn.northbound_connection\": \"tcp:[192.0.2.12]:6645,tcp:[192.0.3.13]:6645,tcp:[192.0.3.14]:6645\",\n \"ovn.southbound_connection\": \"tcp:[192.0.2.12]:6646,tcp:[192.0.3.13]:6646,tcp:[192.0.3.14]:6646\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Incus = Pulumi.Incus;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @this = new Incus.NetworkIntegration(\"this\", new()\n {\n Name = \"ovn-region\",\n Type = \"ovn\",\n Config = \n {\n { \"ovn.northbound_connection\", \"tcp:[192.0.2.12]:6645,tcp:[192.0.3.13]:6645,tcp:[192.0.3.14]:6645\" },\n { \"ovn.southbound_connection\", \"tcp:[192.0.2.12]:6646,tcp:[192.0.3.13]:6646,tcp:[192.0.3.14]:6646\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/brandonkal/pulumi-incus/sdk/go/incus\"\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 := incus.NewNetworkIntegration(ctx, \"this\", \u0026incus.NetworkIntegrationArgs{\n\t\t\tName: pulumi.String(\"ovn-region\"),\n\t\t\tType: pulumi.String(\"ovn\"),\n\t\t\tConfig: pulumi.StringMap{\n\t\t\t\t\"ovn.northbound_connection\": pulumi.String(\"tcp:[192.0.2.12]:6645,tcp:[192.0.3.13]:6645,tcp:[192.0.3.14]:6645\"),\n\t\t\t\t\"ovn.southbound_connection\": pulumi.String(\"tcp:[192.0.2.12]:6646,tcp:[192.0.3.13]:6646,tcp:[192.0.3.14]:6646\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.incus.NetworkIntegration;\nimport com.pulumi.incus.NetworkIntegrationArgs;\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 this_ = new NetworkIntegration(\"this\", NetworkIntegrationArgs.builder()\n .name(\"ovn-region\")\n .type(\"ovn\")\n .config(Map.ofEntries(\n Map.entry(\"ovn.northbound_connection\", \"tcp:[192.0.2.12]:6645,tcp:[192.0.3.13]:6645,tcp:[192.0.3.14]:6645\"),\n Map.entry(\"ovn.southbound_connection\", \"tcp:[192.0.2.12]:6646,tcp:[192.0.3.13]:6646,tcp:[192.0.3.14]:6646\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n this:\n type: incus:NetworkIntegration\n properties:\n name: ovn-region\n type: ovn\n config:\n ovn.northbound_connection: tcp:[192.0.2.12]:6645,tcp:[192.0.3.13]:6645,tcp:[192.0.3.14]:6645\n ovn.southbound_connection: tcp:[192.0.2.12]:6646,tcp:[192.0.3.13]:6646,tcp:[192.0.3.14]:6646\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Peer Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as incus from \"@kiterun/incus\";\n\nconst _default = new incus.Network(\"default\", {\n name: \"default\",\n type: \"ovn\",\n config: {\n \"ipv4.address\": \"192.168.2.0/24\",\n \"ipv4.nat\": \"true\",\n },\n});\nconst _this = new incus.NetworkIntegration(\"this\", {\n name: \"ovn-region\",\n type: \"ovn\",\n config: {\n \"ovn.northbound_connection\": \"tcp:[192.0.2.12]:6645,tcp:[192.0.3.13]:6645,tcp:[192.0.3.14]:6645\",\n \"ovn.southbound_connection\": \"tcp:[192.0.2.12]:6646,tcp:[192.0.3.13]:6646,tcp:[192.0.3.14]:6646\",\n },\n});\nconst thisNetworkPeer = new incus.NetworkPeer(\"this\", {\n name: \"ovn-peer\",\n network: _default.name,\n targetIntegration: _this.name,\n type: \"remote\",\n});\n```\n```python\nimport pulumi\nimport pulumi_incus as incus\n\ndefault = incus.Network(\"default\",\n name=\"default\",\n type=\"ovn\",\n config={\n \"ipv4.address\": \"192.168.2.0/24\",\n \"ipv4.nat\": \"true\",\n })\nthis = incus.NetworkIntegration(\"this\",\n name=\"ovn-region\",\n type=\"ovn\",\n config={\n \"ovn.northbound_connection\": \"tcp:[192.0.2.12]:6645,tcp:[192.0.3.13]:6645,tcp:[192.0.3.14]:6645\",\n \"ovn.southbound_connection\": \"tcp:[192.0.2.12]:6646,tcp:[192.0.3.13]:6646,tcp:[192.0.3.14]:6646\",\n })\nthis_network_peer = incus.NetworkPeer(\"this\",\n name=\"ovn-peer\",\n network=default.name,\n target_integration=this.name,\n type=\"remote\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Incus = Pulumi.Incus;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Incus.Network(\"default\", new()\n {\n Name = \"default\",\n Type = \"ovn\",\n Config = \n {\n { \"ipv4.address\", \"192.168.2.0/24\" },\n { \"ipv4.nat\", \"true\" },\n },\n });\n\n var @this = new Incus.NetworkIntegration(\"this\", new()\n {\n Name = \"ovn-region\",\n Type = \"ovn\",\n Config = \n {\n { \"ovn.northbound_connection\", \"tcp:[192.0.2.12]:6645,tcp:[192.0.3.13]:6645,tcp:[192.0.3.14]:6645\" },\n { \"ovn.southbound_connection\", \"tcp:[192.0.2.12]:6646,tcp:[192.0.3.13]:6646,tcp:[192.0.3.14]:6646\" },\n },\n });\n\n var thisNetworkPeer = new Incus.NetworkPeer(\"this\", new()\n {\n Name = \"ovn-peer\",\n Network = @default.Name,\n TargetIntegration = @this.Name,\n Type = \"remote\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/brandonkal/pulumi-incus/sdk/go/incus\"\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_default, err := incus.NewNetwork(ctx, \"default\", \u0026incus.NetworkArgs{\n\t\t\tName: pulumi.String(\"default\"),\n\t\t\tType: pulumi.String(\"ovn\"),\n\t\t\tConfig: pulumi.StringMap{\n\t\t\t\t\"ipv4.address\": pulumi.String(\"192.168.2.0/24\"),\n\t\t\t\t\"ipv4.nat\": pulumi.String(\"true\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tthis, err := incus.NewNetworkIntegration(ctx, \"this\", \u0026incus.NetworkIntegrationArgs{\n\t\t\tName: pulumi.String(\"ovn-region\"),\n\t\t\tType: pulumi.String(\"ovn\"),\n\t\t\tConfig: pulumi.StringMap{\n\t\t\t\t\"ovn.northbound_connection\": pulumi.String(\"tcp:[192.0.2.12]:6645,tcp:[192.0.3.13]:6645,tcp:[192.0.3.14]:6645\"),\n\t\t\t\t\"ovn.southbound_connection\": pulumi.String(\"tcp:[192.0.2.12]:6646,tcp:[192.0.3.13]:6646,tcp:[192.0.3.14]:6646\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = incus.NewNetworkPeer(ctx, \"this\", \u0026incus.NetworkPeerArgs{\n\t\t\tName: pulumi.String(\"ovn-peer\"),\n\t\t\tNetwork: _default.Name,\n\t\t\tTargetIntegration: this.Name,\n\t\t\tType: pulumi.String(\"remote\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.incus.Network;\nimport com.pulumi.incus.NetworkArgs;\nimport com.pulumi.incus.NetworkIntegration;\nimport com.pulumi.incus.NetworkIntegrationArgs;\nimport com.pulumi.incus.NetworkPeer;\nimport com.pulumi.incus.NetworkPeerArgs;\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 default_ = new Network(\"default\", NetworkArgs.builder()\n .name(\"default\")\n .type(\"ovn\")\n .config(Map.ofEntries(\n Map.entry(\"ipv4.address\", \"192.168.2.0/24\"),\n Map.entry(\"ipv4.nat\", \"true\")\n ))\n .build());\n\n var this_ = new NetworkIntegration(\"this\", NetworkIntegrationArgs.builder()\n .name(\"ovn-region\")\n .type(\"ovn\")\n .config(Map.ofEntries(\n Map.entry(\"ovn.northbound_connection\", \"tcp:[192.0.2.12]:6645,tcp:[192.0.3.13]:6645,tcp:[192.0.3.14]:6645\"),\n Map.entry(\"ovn.southbound_connection\", \"tcp:[192.0.2.12]:6646,tcp:[192.0.3.13]:6646,tcp:[192.0.3.14]:6646\")\n ))\n .build());\n\n var thisNetworkPeer = new NetworkPeer(\"thisNetworkPeer\", NetworkPeerArgs.builder()\n .name(\"ovn-peer\")\n .network(default_.name())\n .targetIntegration(this_.name())\n .type(\"remote\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: incus:Network\n properties:\n name: default\n type: ovn\n config:\n ipv4.address: 192.168.2.0/24\n ipv4.nat: 'true'\n this:\n type: incus:NetworkIntegration\n properties:\n name: ovn-region\n type: ovn\n config:\n ovn.northbound_connection: tcp:[192.0.2.12]:6645,tcp:[192.0.3.13]:6645,tcp:[192.0.3.14]:6645\n ovn.southbound_connection: tcp:[192.0.2.12]:6646,tcp:[192.0.3.13]:6646,tcp:[192.0.3.14]:6646\n thisNetworkPeer:\n type: incus:NetworkPeer\n name: this\n properties:\n name: ovn-peer\n network: ${default.name}\n targetIntegration: ${this.name}\n type: remote\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "## # incus.NetworkIntegration\n\nManage integrations between the local Incus deployment and remote networks hosted on Incus or other platforms. Currently available only for [OVN networks](https://linuxcontainers.org/incus/docs/main/reference/network_ovn/#network-ovn).\n\n## Basic Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as incus from \"@kiterun/incus\";\n\nconst _this = new incus.NetworkIntegration(\"this\", {\n name: \"ovn-region\",\n type: \"ovn\",\n config: {\n \"ovn.northbound_connection\": \"tcp:[192.0.2.12]:6645,tcp:[192.0.3.13]:6645,tcp:[192.0.3.14]:6645\",\n \"ovn.southbound_connection\": \"tcp:[192.0.2.12]:6646,tcp:[192.0.3.13]:6646,tcp:[192.0.3.14]:6646\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_incus as incus\n\nthis = incus.NetworkIntegration(\"this\",\n name=\"ovn-region\",\n type=\"ovn\",\n config={\n \"ovn.northbound_connection\": \"tcp:[192.0.2.12]:6645,tcp:[192.0.3.13]:6645,tcp:[192.0.3.14]:6645\",\n \"ovn.southbound_connection\": \"tcp:[192.0.2.12]:6646,tcp:[192.0.3.13]:6646,tcp:[192.0.3.14]:6646\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Incus = Pulumi.Incus;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @this = new Incus.NetworkIntegration(\"this\", new()\n {\n Name = \"ovn-region\",\n Type = \"ovn\",\n Config = \n {\n { \"ovn.northbound_connection\", \"tcp:[192.0.2.12]:6645,tcp:[192.0.3.13]:6645,tcp:[192.0.3.14]:6645\" },\n { \"ovn.southbound_connection\", \"tcp:[192.0.2.12]:6646,tcp:[192.0.3.13]:6646,tcp:[192.0.3.14]:6646\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"git.kalinow.ski/nimbus/pulumi-incus/sdk/go/incus\"\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 := incus.NewNetworkIntegration(ctx, \"this\", \u0026incus.NetworkIntegrationArgs{\n\t\t\tName: pulumi.String(\"ovn-region\"),\n\t\t\tType: pulumi.String(\"ovn\"),\n\t\t\tConfig: pulumi.StringMap{\n\t\t\t\t\"ovn.northbound_connection\": pulumi.String(\"tcp:[192.0.2.12]:6645,tcp:[192.0.3.13]:6645,tcp:[192.0.3.14]:6645\"),\n\t\t\t\t\"ovn.southbound_connection\": pulumi.String(\"tcp:[192.0.2.12]:6646,tcp:[192.0.3.13]:6646,tcp:[192.0.3.14]:6646\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.incus.NetworkIntegration;\nimport com.pulumi.incus.NetworkIntegrationArgs;\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 this_ = new NetworkIntegration(\"this\", NetworkIntegrationArgs.builder()\n .name(\"ovn-region\")\n .type(\"ovn\")\n .config(Map.ofEntries(\n Map.entry(\"ovn.northbound_connection\", \"tcp:[192.0.2.12]:6645,tcp:[192.0.3.13]:6645,tcp:[192.0.3.14]:6645\"),\n Map.entry(\"ovn.southbound_connection\", \"tcp:[192.0.2.12]:6646,tcp:[192.0.3.13]:6646,tcp:[192.0.3.14]:6646\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n this:\n type: incus:NetworkIntegration\n properties:\n name: ovn-region\n type: ovn\n config:\n ovn.northbound_connection: tcp:[192.0.2.12]:6645,tcp:[192.0.3.13]:6645,tcp:[192.0.3.14]:6645\n ovn.southbound_connection: tcp:[192.0.2.12]:6646,tcp:[192.0.3.13]:6646,tcp:[192.0.3.14]:6646\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Peer Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as incus from \"@kiterun/incus\";\n\nconst _default = new incus.Network(\"default\", {\n name: \"default\",\n type: \"ovn\",\n config: {\n \"ipv4.address\": \"192.168.2.0/24\",\n \"ipv4.nat\": \"true\",\n },\n});\nconst _this = new incus.NetworkIntegration(\"this\", {\n name: \"ovn-region\",\n type: \"ovn\",\n config: {\n \"ovn.northbound_connection\": \"tcp:[192.0.2.12]:6645,tcp:[192.0.3.13]:6645,tcp:[192.0.3.14]:6645\",\n \"ovn.southbound_connection\": \"tcp:[192.0.2.12]:6646,tcp:[192.0.3.13]:6646,tcp:[192.0.3.14]:6646\",\n },\n});\nconst thisNetworkPeer = new incus.NetworkPeer(\"this\", {\n name: \"ovn-peer\",\n network: _default.name,\n targetIntegration: _this.name,\n type: \"remote\",\n});\n```\n```python\nimport pulumi\nimport pulumi_incus as incus\n\ndefault = incus.Network(\"default\",\n name=\"default\",\n type=\"ovn\",\n config={\n \"ipv4.address\": \"192.168.2.0/24\",\n \"ipv4.nat\": \"true\",\n })\nthis = incus.NetworkIntegration(\"this\",\n name=\"ovn-region\",\n type=\"ovn\",\n config={\n \"ovn.northbound_connection\": \"tcp:[192.0.2.12]:6645,tcp:[192.0.3.13]:6645,tcp:[192.0.3.14]:6645\",\n \"ovn.southbound_connection\": \"tcp:[192.0.2.12]:6646,tcp:[192.0.3.13]:6646,tcp:[192.0.3.14]:6646\",\n })\nthis_network_peer = incus.NetworkPeer(\"this\",\n name=\"ovn-peer\",\n network=default.name,\n target_integration=this.name,\n type=\"remote\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Incus = Pulumi.Incus;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Incus.Network(\"default\", new()\n {\n Name = \"default\",\n Type = \"ovn\",\n Config = \n {\n { \"ipv4.address\", \"192.168.2.0/24\" },\n { \"ipv4.nat\", \"true\" },\n },\n });\n\n var @this = new Incus.NetworkIntegration(\"this\", new()\n {\n Name = \"ovn-region\",\n Type = \"ovn\",\n Config = \n {\n { \"ovn.northbound_connection\", \"tcp:[192.0.2.12]:6645,tcp:[192.0.3.13]:6645,tcp:[192.0.3.14]:6645\" },\n { \"ovn.southbound_connection\", \"tcp:[192.0.2.12]:6646,tcp:[192.0.3.13]:6646,tcp:[192.0.3.14]:6646\" },\n },\n });\n\n var thisNetworkPeer = new Incus.NetworkPeer(\"this\", new()\n {\n Name = \"ovn-peer\",\n Network = @default.Name,\n TargetIntegration = @this.Name,\n Type = \"remote\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"git.kalinow.ski/nimbus/pulumi-incus/sdk/go/incus\"\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_default, err := incus.NewNetwork(ctx, \"default\", \u0026incus.NetworkArgs{\n\t\t\tName: pulumi.String(\"default\"),\n\t\t\tType: pulumi.String(\"ovn\"),\n\t\t\tConfig: pulumi.StringMap{\n\t\t\t\t\"ipv4.address\": pulumi.String(\"192.168.2.0/24\"),\n\t\t\t\t\"ipv4.nat\": pulumi.String(\"true\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tthis, err := incus.NewNetworkIntegration(ctx, \"this\", \u0026incus.NetworkIntegrationArgs{\n\t\t\tName: pulumi.String(\"ovn-region\"),\n\t\t\tType: pulumi.String(\"ovn\"),\n\t\t\tConfig: pulumi.StringMap{\n\t\t\t\t\"ovn.northbound_connection\": pulumi.String(\"tcp:[192.0.2.12]:6645,tcp:[192.0.3.13]:6645,tcp:[192.0.3.14]:6645\"),\n\t\t\t\t\"ovn.southbound_connection\": pulumi.String(\"tcp:[192.0.2.12]:6646,tcp:[192.0.3.13]:6646,tcp:[192.0.3.14]:6646\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = incus.NewNetworkPeer(ctx, \"this\", \u0026incus.NetworkPeerArgs{\n\t\t\tName: pulumi.String(\"ovn-peer\"),\n\t\t\tNetwork: _default.Name,\n\t\t\tTargetIntegration: this.Name,\n\t\t\tType: pulumi.String(\"remote\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.incus.Network;\nimport com.pulumi.incus.NetworkArgs;\nimport com.pulumi.incus.NetworkIntegration;\nimport com.pulumi.incus.NetworkIntegrationArgs;\nimport com.pulumi.incus.NetworkPeer;\nimport com.pulumi.incus.NetworkPeerArgs;\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 default_ = new Network(\"default\", NetworkArgs.builder()\n .name(\"default\")\n .type(\"ovn\")\n .config(Map.ofEntries(\n Map.entry(\"ipv4.address\", \"192.168.2.0/24\"),\n Map.entry(\"ipv4.nat\", \"true\")\n ))\n .build());\n\n var this_ = new NetworkIntegration(\"this\", NetworkIntegrationArgs.builder()\n .name(\"ovn-region\")\n .type(\"ovn\")\n .config(Map.ofEntries(\n Map.entry(\"ovn.northbound_connection\", \"tcp:[192.0.2.12]:6645,tcp:[192.0.3.13]:6645,tcp:[192.0.3.14]:6645\"),\n Map.entry(\"ovn.southbound_connection\", \"tcp:[192.0.2.12]:6646,tcp:[192.0.3.13]:6646,tcp:[192.0.3.14]:6646\")\n ))\n .build());\n\n var thisNetworkPeer = new NetworkPeer(\"thisNetworkPeer\", NetworkPeerArgs.builder()\n .name(\"ovn-peer\")\n .network(default_.name())\n .targetIntegration(this_.name())\n .type(\"remote\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: incus:Network\n properties:\n name: default\n type: ovn\n config:\n ipv4.address: 192.168.2.0/24\n ipv4.nat: 'true'\n this:\n type: incus:NetworkIntegration\n properties:\n name: ovn-region\n type: ovn\n config:\n ovn.northbound_connection: tcp:[192.0.2.12]:6645,tcp:[192.0.3.13]:6645,tcp:[192.0.3.14]:6645\n ovn.southbound_connection: tcp:[192.0.2.12]:6646,tcp:[192.0.3.13]:6646,tcp:[192.0.3.14]:6646\n thisNetworkPeer:\n type: incus:NetworkPeer\n name: this\n properties:\n name: ovn-peer\n network: ${default.name}\n targetIntegration: ${this.name}\n type: remote\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "config": { "type": "object", @@ -2078,134 +2005,6 @@ "type": "object" } }, - "incus:index/networkLb:NetworkLb": { - "properties": { - "backends": { - "type": "array", - "items": { - "$ref": "#/types/incus:index/NetworkLbBackend:NetworkLbBackend" - }, - "description": "Network load balancer backend\n" - }, - "config": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "description": { - "type": "string" - }, - "listenAddress": { - "type": "string" - }, - "network": { - "type": "string" - }, - "ports": { - "type": "array", - "items": { - "$ref": "#/types/incus:index/NetworkLbPort:NetworkLbPort" - }, - "description": "Network load balancer port\n" - }, - "project": { - "type": "string" - }, - "remote": { - "type": "string" - } - }, - "required": [ - "config", - "description", - "listenAddress", - "network" - ], - "inputProperties": { - "backends": { - "type": "array", - "items": { - "$ref": "#/types/incus:index/NetworkLbBackend:NetworkLbBackend" - }, - "description": "Network load balancer backend\n" - }, - "config": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "description": { - "type": "string" - }, - "listenAddress": { - "type": "string" - }, - "network": { - "type": "string" - }, - "ports": { - "type": "array", - "items": { - "$ref": "#/types/incus:index/NetworkLbPort:NetworkLbPort" - }, - "description": "Network load balancer port\n" - }, - "project": { - "type": "string" - }, - "remote": { - "type": "string" - } - }, - "requiredInputs": [ - "listenAddress", - "network" - ], - "stateInputs": { - "description": "Input properties used for looking up and filtering NetworkLb resources.\n", - "properties": { - "backends": { - "type": "array", - "items": { - "$ref": "#/types/incus:index/NetworkLbBackend:NetworkLbBackend" - }, - "description": "Network load balancer backend\n" - }, - "config": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "description": { - "type": "string" - }, - "listenAddress": { - "type": "string" - }, - "network": { - "type": "string" - }, - "ports": { - "type": "array", - "items": { - "$ref": "#/types/incus:index/NetworkLbPort:NetworkLbPort" - }, - "description": "Network load balancer port\n" - }, - "project": { - "type": "string" - }, - "remote": { - "type": "string" - } - }, - "type": "object" - }, - "deprecationMessage": "incus.index/networklb.NetworkLb has been deprecated in favor of incus.index/networkloadbalancer.NetworkLoadBalancer" - }, "incus:index/networkLoadBalancer:NetworkLoadBalancer": { "properties": { "backends": { @@ -2331,15 +2130,10 @@ } }, "type": "object" - }, - "aliases": [ - { - "type": "incus:index/networkLb:NetworkLb" - } - ] + } }, "incus:index/networkPeer:NetworkPeer": { - "description": "## # incus.NetworkPeer\n\nIncus allows creating peer routing relationships between two OVN networks. Using this method, traffic between the two\nnetworks can go directly from one OVN network to the other and thus stays within the OVN subsystem, rather than transiting\nthrough the uplink network.\n\n\u003e The peer resource is exclusively compatible with OVN (Open Virtual Network).\n\nFor more information, please refer to [How to create peer routing relationships](https://linuxcontainers.org/incus/docs/main/howto/network_ovn_peers/)\nin the official Incus documentation.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as incus from \"@kiterun/incus\";\n\nconst lan0 = new incus.Network(\"lan0\", {\n name: \"lan0\",\n type: \"ovn\",\n config: {},\n});\nconst lan1 = new incus.Network(\"lan1\", {\n name: \"lan1\",\n type: \"ovn\",\n config: {},\n});\nconst lan0Lan1 = new incus.NetworkPeer(\"lan0_lan1\", {\n name: \"lab0-lan1\",\n description: \"A meaningful description\",\n network: lan0.name,\n project: \"default\",\n targetNetwork: lan1.name,\n targetProject: \"default\",\n});\nconst lan1Lan0 = new incus.NetworkPeer(\"lan1_lan0\", {\n name: \"lab1-lan0\",\n description: \"A meaningful description\",\n network: lan1.name,\n project: \"default\",\n targetNetwork: lan0.name,\n targetProject: \"default\",\n});\n```\n```python\nimport pulumi\nimport pulumi_incus as incus\n\nlan0 = incus.Network(\"lan0\",\n name=\"lan0\",\n type=\"ovn\",\n config={})\nlan1 = incus.Network(\"lan1\",\n name=\"lan1\",\n type=\"ovn\",\n config={})\nlan0_lan1 = incus.NetworkPeer(\"lan0_lan1\",\n name=\"lab0-lan1\",\n description=\"A meaningful description\",\n network=lan0.name,\n project=\"default\",\n target_network=lan1.name,\n target_project=\"default\")\nlan1_lan0 = incus.NetworkPeer(\"lan1_lan0\",\n name=\"lab1-lan0\",\n description=\"A meaningful description\",\n network=lan1.name,\n project=\"default\",\n target_network=lan0.name,\n target_project=\"default\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Incus = Pulumi.Incus;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var lan0 = new Incus.Network(\"lan0\", new()\n {\n Name = \"lan0\",\n Type = \"ovn\",\n Config = null,\n });\n\n var lan1 = new Incus.Network(\"lan1\", new()\n {\n Name = \"lan1\",\n Type = \"ovn\",\n Config = null,\n });\n\n var lan0Lan1 = new Incus.NetworkPeer(\"lan0_lan1\", new()\n {\n Name = \"lab0-lan1\",\n Description = \"A meaningful description\",\n Network = lan0.Name,\n Project = \"default\",\n TargetNetwork = lan1.Name,\n TargetProject = \"default\",\n });\n\n var lan1Lan0 = new Incus.NetworkPeer(\"lan1_lan0\", new()\n {\n Name = \"lab1-lan0\",\n Description = \"A meaningful description\",\n Network = lan1.Name,\n Project = \"default\",\n TargetNetwork = lan0.Name,\n TargetProject = \"default\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/brandonkal/pulumi-incus/sdk/go/incus\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tlan0, err := incus.NewNetwork(ctx, \"lan0\", \u0026incus.NetworkArgs{\n\t\t\tName: pulumi.String(\"lan0\"),\n\t\t\tType: pulumi.String(\"ovn\"),\n\t\t\tConfig: pulumi.StringMap{},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlan1, err := incus.NewNetwork(ctx, \"lan1\", \u0026incus.NetworkArgs{\n\t\t\tName: pulumi.String(\"lan1\"),\n\t\t\tType: pulumi.String(\"ovn\"),\n\t\t\tConfig: pulumi.StringMap{},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = incus.NewNetworkPeer(ctx, \"lan0_lan1\", \u0026incus.NetworkPeerArgs{\n\t\t\tName: pulumi.String(\"lab0-lan1\"),\n\t\t\tDescription: pulumi.String(\"A meaningful description\"),\n\t\t\tNetwork: lan0.Name,\n\t\t\tProject: pulumi.String(\"default\"),\n\t\t\tTargetNetwork: lan1.Name,\n\t\t\tTargetProject: pulumi.String(\"default\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = incus.NewNetworkPeer(ctx, \"lan1_lan0\", \u0026incus.NetworkPeerArgs{\n\t\t\tName: pulumi.String(\"lab1-lan0\"),\n\t\t\tDescription: pulumi.String(\"A meaningful description\"),\n\t\t\tNetwork: lan1.Name,\n\t\t\tProject: pulumi.String(\"default\"),\n\t\t\tTargetNetwork: lan0.Name,\n\t\t\tTargetProject: pulumi.String(\"default\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.incus.Network;\nimport com.pulumi.incus.NetworkArgs;\nimport com.pulumi.incus.NetworkPeer;\nimport com.pulumi.incus.NetworkPeerArgs;\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 lan0 = new Network(\"lan0\", NetworkArgs.builder()\n .name(\"lan0\")\n .type(\"ovn\")\n .config(Map.ofEntries(\n ))\n .build());\n\n var lan1 = new Network(\"lan1\", NetworkArgs.builder()\n .name(\"lan1\")\n .type(\"ovn\")\n .config(Map.ofEntries(\n ))\n .build());\n\n var lan0Lan1 = new NetworkPeer(\"lan0Lan1\", NetworkPeerArgs.builder()\n .name(\"lab0-lan1\")\n .description(\"A meaningful description\")\n .network(lan0.name())\n .project(\"default\")\n .targetNetwork(lan1.name())\n .targetProject(\"default\")\n .build());\n\n var lan1Lan0 = new NetworkPeer(\"lan1Lan0\", NetworkPeerArgs.builder()\n .name(\"lab1-lan0\")\n .description(\"A meaningful description\")\n .network(lan1.name())\n .project(\"default\")\n .targetNetwork(lan0.name())\n .targetProject(\"default\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n lan0:\n type: incus:Network\n properties:\n name: lan0\n type: ovn\n config: {}\n lan1:\n type: incus:Network\n properties:\n name: lan1\n type: ovn\n config: {}\n lan0Lan1:\n type: incus:NetworkPeer\n name: lan0_lan1\n properties:\n name: lab0-lan1\n description: A meaningful description\n network: ${lan0.name}\n project: default\n targetNetwork: ${lan1.name}\n targetProject: default\n lan1Lan0:\n type: incus:NetworkPeer\n name: lan1_lan0\n properties:\n name: lab1-lan0\n description: A meaningful description\n network: ${lan1.name}\n project: default\n targetNetwork: ${lan0.name}\n targetProject: default\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "## # incus.NetworkPeer\n\nIncus allows creating peer routing relationships between two OVN networks. Using this method, traffic between the two\nnetworks can go directly from one OVN network to the other and thus stays within the OVN subsystem, rather than transiting\nthrough the uplink network.\n\n\u003e The peer resource is exclusively compatible with OVN (Open Virtual Network).\n\nFor more information, please refer to [How to create peer routing relationships](https://linuxcontainers.org/incus/docs/main/howto/network_ovn_peers/)\nin the official Incus documentation.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as incus from \"@kiterun/incus\";\n\nconst lan0 = new incus.Network(\"lan0\", {\n name: \"lan0\",\n type: \"ovn\",\n config: {},\n});\nconst lan1 = new incus.Network(\"lan1\", {\n name: \"lan1\",\n type: \"ovn\",\n config: {},\n});\nconst lan0Lan1 = new incus.NetworkPeer(\"lan0_lan1\", {\n name: \"lab0-lan1\",\n description: \"A meaningful description\",\n network: lan0.name,\n project: \"default\",\n targetNetwork: lan1.name,\n targetProject: \"default\",\n});\nconst lan1Lan0 = new incus.NetworkPeer(\"lan1_lan0\", {\n name: \"lab1-lan0\",\n description: \"A meaningful description\",\n network: lan1.name,\n project: \"default\",\n targetNetwork: lan0.name,\n targetProject: \"default\",\n});\n```\n```python\nimport pulumi\nimport pulumi_incus as incus\n\nlan0 = incus.Network(\"lan0\",\n name=\"lan0\",\n type=\"ovn\",\n config={})\nlan1 = incus.Network(\"lan1\",\n name=\"lan1\",\n type=\"ovn\",\n config={})\nlan0_lan1 = incus.NetworkPeer(\"lan0_lan1\",\n name=\"lab0-lan1\",\n description=\"A meaningful description\",\n network=lan0.name,\n project=\"default\",\n target_network=lan1.name,\n target_project=\"default\")\nlan1_lan0 = incus.NetworkPeer(\"lan1_lan0\",\n name=\"lab1-lan0\",\n description=\"A meaningful description\",\n network=lan1.name,\n project=\"default\",\n target_network=lan0.name,\n target_project=\"default\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Incus = Pulumi.Incus;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var lan0 = new Incus.Network(\"lan0\", new()\n {\n Name = \"lan0\",\n Type = \"ovn\",\n Config = null,\n });\n\n var lan1 = new Incus.Network(\"lan1\", new()\n {\n Name = \"lan1\",\n Type = \"ovn\",\n Config = null,\n });\n\n var lan0Lan1 = new Incus.NetworkPeer(\"lan0_lan1\", new()\n {\n Name = \"lab0-lan1\",\n Description = \"A meaningful description\",\n Network = lan0.Name,\n Project = \"default\",\n TargetNetwork = lan1.Name,\n TargetProject = \"default\",\n });\n\n var lan1Lan0 = new Incus.NetworkPeer(\"lan1_lan0\", new()\n {\n Name = \"lab1-lan0\",\n Description = \"A meaningful description\",\n Network = lan1.Name,\n Project = \"default\",\n TargetNetwork = lan0.Name,\n TargetProject = \"default\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"git.kalinow.ski/nimbus/pulumi-incus/sdk/go/incus\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tlan0, err := incus.NewNetwork(ctx, \"lan0\", \u0026incus.NetworkArgs{\n\t\t\tName: pulumi.String(\"lan0\"),\n\t\t\tType: pulumi.String(\"ovn\"),\n\t\t\tConfig: pulumi.StringMap{},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlan1, err := incus.NewNetwork(ctx, \"lan1\", \u0026incus.NetworkArgs{\n\t\t\tName: pulumi.String(\"lan1\"),\n\t\t\tType: pulumi.String(\"ovn\"),\n\t\t\tConfig: pulumi.StringMap{},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = incus.NewNetworkPeer(ctx, \"lan0_lan1\", \u0026incus.NetworkPeerArgs{\n\t\t\tName: pulumi.String(\"lab0-lan1\"),\n\t\t\tDescription: pulumi.String(\"A meaningful description\"),\n\t\t\tNetwork: lan0.Name,\n\t\t\tProject: pulumi.String(\"default\"),\n\t\t\tTargetNetwork: lan1.Name,\n\t\t\tTargetProject: pulumi.String(\"default\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = incus.NewNetworkPeer(ctx, \"lan1_lan0\", \u0026incus.NetworkPeerArgs{\n\t\t\tName: pulumi.String(\"lab1-lan0\"),\n\t\t\tDescription: pulumi.String(\"A meaningful description\"),\n\t\t\tNetwork: lan1.Name,\n\t\t\tProject: pulumi.String(\"default\"),\n\t\t\tTargetNetwork: lan0.Name,\n\t\t\tTargetProject: pulumi.String(\"default\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.incus.Network;\nimport com.pulumi.incus.NetworkArgs;\nimport com.pulumi.incus.NetworkPeer;\nimport com.pulumi.incus.NetworkPeerArgs;\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 lan0 = new Network(\"lan0\", NetworkArgs.builder()\n .name(\"lan0\")\n .type(\"ovn\")\n .config(Map.ofEntries(\n ))\n .build());\n\n var lan1 = new Network(\"lan1\", NetworkArgs.builder()\n .name(\"lan1\")\n .type(\"ovn\")\n .config(Map.ofEntries(\n ))\n .build());\n\n var lan0Lan1 = new NetworkPeer(\"lan0Lan1\", NetworkPeerArgs.builder()\n .name(\"lab0-lan1\")\n .description(\"A meaningful description\")\n .network(lan0.name())\n .project(\"default\")\n .targetNetwork(lan1.name())\n .targetProject(\"default\")\n .build());\n\n var lan1Lan0 = new NetworkPeer(\"lan1Lan0\", NetworkPeerArgs.builder()\n .name(\"lab1-lan0\")\n .description(\"A meaningful description\")\n .network(lan1.name())\n .project(\"default\")\n .targetNetwork(lan0.name())\n .targetProject(\"default\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n lan0:\n type: incus:Network\n properties:\n name: lan0\n type: ovn\n config: {}\n lan1:\n type: incus:Network\n properties:\n name: lan1\n type: ovn\n config: {}\n lan0Lan1:\n type: incus:NetworkPeer\n name: lan0_lan1\n properties:\n name: lab0-lan1\n description: A meaningful description\n network: ${lan0.name}\n project: default\n targetNetwork: ${lan1.name}\n targetProject: default\n lan1Lan0:\n type: incus:NetworkPeer\n name: lan1_lan0\n properties:\n name: lab1-lan0\n description: A meaningful description\n network: ${lan1.name}\n project: default\n targetNetwork: ${lan0.name}\n targetProject: default\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "config": { "type": "object", @@ -3471,7 +3265,7 @@ }, "functions": { "incus:index/getImage:getImage": { - "description": "## # incus.Image\n\nProvides information about an Incus image.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as incus from \"@kiterun/incus\";\nimport * as incus from \"@pulumi/incus\";\n\nconst debianCustom = incus.getImage({\n name: \"debian_custom\",\n});\nconst d1 = new incus.Instance(\"d1\", {\n image: debianCustom.then(debianCustom =\u003e debianCustom.fingerprint),\n name: \"d1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_incus as incus\n\ndebian_custom = incus.get_image(name=\"debian_custom\")\nd1 = incus.Instance(\"d1\",\n image=debian_custom.fingerprint,\n name=\"d1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Incus = Pulumi.Incus;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var debianCustom = Incus.GetImage.Invoke(new()\n {\n Name = \"debian_custom\",\n });\n\n var d1 = new Incus.Instance(\"d1\", new()\n {\n Image = debianCustom.Apply(getImageResult =\u003e getImageResult.Fingerprint),\n Name = \"d1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/brandonkal/pulumi-incus/sdk/go/incus\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tdebianCustom, err := incus.LookupImage(ctx, \u0026incus.LookupImageArgs{\n\t\t\tName: pulumi.StringRef(\"debian_custom\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = incus.NewInstance(ctx, \"d1\", \u0026incus.InstanceArgs{\n\t\t\tImage: pulumi.String(debianCustom.Fingerprint),\n\t\t\tName: pulumi.String(\"d1\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.incus.IncusFunctions;\nimport com.pulumi.incus.inputs.GetImageArgs;\nimport com.pulumi.incus.Instance;\nimport com.pulumi.incus.InstanceArgs;\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 final var debianCustom = IncusFunctions.getImage(GetImageArgs.builder()\n .name(\"debian_custom\")\n .build());\n\n var d1 = new Instance(\"d1\", InstanceArgs.builder()\n .image(debianCustom.fingerprint())\n .name(\"d1\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n d1:\n type: incus:Instance\n properties:\n image: ${debianCustom.fingerprint}\n name: d1\nvariables:\n debianCustom:\n fn::invoke:\n function: incus:getImage\n arguments:\n name: debian_custom\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "## # incus.Image\n\nProvides information about an Incus image.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as incus from \"@kiterun/incus\";\nimport * as incus from \"@pulumi/incus\";\n\nconst debianCustom = incus.getImage({\n name: \"debian_custom\",\n});\nconst d1 = new incus.Instance(\"d1\", {\n image: debianCustom.then(debianCustom =\u003e debianCustom.fingerprint),\n name: \"d1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_incus as incus\n\ndebian_custom = incus.get_image(name=\"debian_custom\")\nd1 = incus.Instance(\"d1\",\n image=debian_custom.fingerprint,\n name=\"d1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Incus = Pulumi.Incus;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var debianCustom = Incus.GetImage.Invoke(new()\n {\n Name = \"debian_custom\",\n });\n\n var d1 = new Incus.Instance(\"d1\", new()\n {\n Image = debianCustom.Apply(getImageResult =\u003e getImageResult.Fingerprint),\n Name = \"d1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"git.kalinow.ski/nimbus/pulumi-incus/sdk/go/incus\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tdebianCustom, err := incus.LookupImage(ctx, \u0026incus.LookupImageArgs{\n\t\t\tName: pulumi.StringRef(\"debian_custom\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = incus.NewInstance(ctx, \"d1\", \u0026incus.InstanceArgs{\n\t\t\tImage: pulumi.String(debianCustom.Fingerprint),\n\t\t\tName: pulumi.String(\"d1\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.incus.IncusFunctions;\nimport com.pulumi.incus.inputs.GetImageArgs;\nimport com.pulumi.incus.Instance;\nimport com.pulumi.incus.InstanceArgs;\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 final var debianCustom = IncusFunctions.getImage(GetImageArgs.builder()\n .name(\"debian_custom\")\n .build());\n\n var d1 = new Instance(\"d1\", InstanceArgs.builder()\n .image(debianCustom.fingerprint())\n .name(\"d1\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n d1:\n type: incus:Instance\n properties:\n image: ${debianCustom.fingerprint}\n name: d1\nvariables:\n debianCustom:\n fn::invoke:\n function: incus:getImage\n arguments:\n name: debian_custom\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getImage.\n", "properties": { @@ -3551,7 +3345,7 @@ } }, "incus:index/getProfile:getProfile": { - "description": "## # incus.Profile\n\nProvides information about an Incus profile.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as incus from \"@kiterun/incus\";\nimport * as incus from \"@pulumi/incus\";\n\nconst _default = incus.getProfile({\n name: \"default\",\n});\nconst d1 = new incus.Instance(\"d1\", {\n profiles: [_default.then(_default =\u003e _default.name)],\n image: \"images:debian/12\",\n name: \"d1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_incus as incus\n\ndefault = incus.get_profile(name=\"default\")\nd1 = incus.Instance(\"d1\",\n profiles=[default.name],\n image=\"images:debian/12\",\n name=\"d1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Incus = Pulumi.Incus;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Incus.GetProfile.Invoke(new()\n {\n Name = \"default\",\n });\n\n var d1 = new Incus.Instance(\"d1\", new()\n {\n Profiles = new[]\n {\n @default.Apply(@default =\u003e @default.Apply(getProfileResult =\u003e getProfileResult.Name)),\n },\n Image = \"images:debian/12\",\n Name = \"d1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/brandonkal/pulumi-incus/sdk/go/incus\"\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_default, err := incus.LookupProfile(ctx, \u0026incus.LookupProfileArgs{\n\t\t\tName: \"default\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = incus.NewInstance(ctx, \"d1\", \u0026incus.InstanceArgs{\n\t\t\tProfiles: pulumi.StringArray{\n\t\t\t\tpulumi.String(_default.Name),\n\t\t\t},\n\t\t\tImage: pulumi.String(\"images:debian/12\"),\n\t\t\tName: pulumi.String(\"d1\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.incus.IncusFunctions;\nimport com.pulumi.incus.inputs.GetProfileArgs;\nimport com.pulumi.incus.Instance;\nimport com.pulumi.incus.InstanceArgs;\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 final var default = IncusFunctions.getProfile(GetProfileArgs.builder()\n .name(\"default\")\n .build());\n\n var d1 = new Instance(\"d1\", InstanceArgs.builder()\n .profiles(default_.name())\n .image(\"images:debian/12\")\n .name(\"d1\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n d1:\n type: incus:Instance\n properties:\n profiles:\n - ${default.name}\n image: images:debian/12\n name: d1\nvariables:\n default:\n fn::invoke:\n function: incus:getProfile\n arguments:\n name: default\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "## # incus.Profile\n\nProvides information about an Incus profile.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as incus from \"@kiterun/incus\";\nimport * as incus from \"@pulumi/incus\";\n\nconst _default = incus.getProfile({\n name: \"default\",\n});\nconst d1 = new incus.Instance(\"d1\", {\n profiles: [_default.then(_default =\u003e _default.name)],\n image: \"images:debian/12\",\n name: \"d1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_incus as incus\n\ndefault = incus.get_profile(name=\"default\")\nd1 = incus.Instance(\"d1\",\n profiles=[default.name],\n image=\"images:debian/12\",\n name=\"d1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Incus = Pulumi.Incus;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Incus.GetProfile.Invoke(new()\n {\n Name = \"default\",\n });\n\n var d1 = new Incus.Instance(\"d1\", new()\n {\n Profiles = new[]\n {\n @default.Apply(@default =\u003e @default.Apply(getProfileResult =\u003e getProfileResult.Name)),\n },\n Image = \"images:debian/12\",\n Name = \"d1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"git.kalinow.ski/nimbus/pulumi-incus/sdk/go/incus\"\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_default, err := incus.LookupProfile(ctx, \u0026incus.LookupProfileArgs{\n\t\t\tName: \"default\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = incus.NewInstance(ctx, \"d1\", \u0026incus.InstanceArgs{\n\t\t\tProfiles: pulumi.StringArray{\n\t\t\t\tpulumi.String(_default.Name),\n\t\t\t},\n\t\t\tImage: pulumi.String(\"images:debian/12\"),\n\t\t\tName: pulumi.String(\"d1\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.incus.IncusFunctions;\nimport com.pulumi.incus.inputs.GetProfileArgs;\nimport com.pulumi.incus.Instance;\nimport com.pulumi.incus.InstanceArgs;\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 final var default = IncusFunctions.getProfile(GetProfileArgs.builder()\n .name(\"default\")\n .build());\n\n var d1 = new Instance(\"d1\", InstanceArgs.builder()\n .profiles(default_.name())\n .image(\"images:debian/12\")\n .name(\"d1\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n d1:\n type: incus:Instance\n properties:\n profiles:\n - ${default.name}\n image: images:debian/12\n name: d1\nvariables:\n default:\n fn::invoke:\n function: incus:getProfile\n arguments:\n name: default\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getProfile.\n", "properties": { @@ -3625,7 +3419,7 @@ } }, "incus:index/getProject:getProject": { - "description": "## # incus.Project\n\nProvides information about an Incus project.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as incus from \"@kiterun/incus\";\nimport * as incus from \"@pulumi/incus\";\n\nconst _default = incus.getProject({\n name: \"default\",\n});\nconst d1 = new incus.Instance(\"d1\", {\n project: _default.then(_default =\u003e _default.name),\n image: \"images:debian/12\",\n name: \"d1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_incus as incus\n\ndefault = incus.get_project(name=\"default\")\nd1 = incus.Instance(\"d1\",\n project=default.name,\n image=\"images:debian/12\",\n name=\"d1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Incus = Pulumi.Incus;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Incus.GetProject.Invoke(new()\n {\n Name = \"default\",\n });\n\n var d1 = new Incus.Instance(\"d1\", new()\n {\n Project = @default.Apply(@default =\u003e @default.Apply(getProjectResult =\u003e getProjectResult.Name)),\n Image = \"images:debian/12\",\n Name = \"d1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/brandonkal/pulumi-incus/sdk/go/incus\"\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_default, err := incus.LookupProject(ctx, \u0026incus.LookupProjectArgs{\n\t\t\tName: \"default\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = incus.NewInstance(ctx, \"d1\", \u0026incus.InstanceArgs{\n\t\t\tProject: pulumi.String(_default.Name),\n\t\t\tImage: pulumi.String(\"images:debian/12\"),\n\t\t\tName: pulumi.String(\"d1\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.incus.IncusFunctions;\nimport com.pulumi.incus.inputs.GetProjectArgs;\nimport com.pulumi.incus.Instance;\nimport com.pulumi.incus.InstanceArgs;\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 final var default = IncusFunctions.getProject(GetProjectArgs.builder()\n .name(\"default\")\n .build());\n\n var d1 = new Instance(\"d1\", InstanceArgs.builder()\n .project(default_.name())\n .image(\"images:debian/12\")\n .name(\"d1\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n d1:\n type: incus:Instance\n properties:\n project: ${default.name}\n image: images:debian/12\n name: d1\nvariables:\n default:\n fn::invoke:\n function: incus:getProject\n arguments:\n name: default\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "## # incus.Project\n\nProvides information about an Incus project.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as incus from \"@kiterun/incus\";\nimport * as incus from \"@pulumi/incus\";\n\nconst _default = incus.getProject({\n name: \"default\",\n});\nconst d1 = new incus.Instance(\"d1\", {\n project: _default.then(_default =\u003e _default.name),\n image: \"images:debian/12\",\n name: \"d1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_incus as incus\n\ndefault = incus.get_project(name=\"default\")\nd1 = incus.Instance(\"d1\",\n project=default.name,\n image=\"images:debian/12\",\n name=\"d1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Incus = Pulumi.Incus;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Incus.GetProject.Invoke(new()\n {\n Name = \"default\",\n });\n\n var d1 = new Incus.Instance(\"d1\", new()\n {\n Project = @default.Apply(@default =\u003e @default.Apply(getProjectResult =\u003e getProjectResult.Name)),\n Image = \"images:debian/12\",\n Name = \"d1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"git.kalinow.ski/nimbus/pulumi-incus/sdk/go/incus\"\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_default, err := incus.LookupProject(ctx, \u0026incus.LookupProjectArgs{\n\t\t\tName: \"default\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = incus.NewInstance(ctx, \"d1\", \u0026incus.InstanceArgs{\n\t\t\tProject: pulumi.String(_default.Name),\n\t\t\tImage: pulumi.String(\"images:debian/12\"),\n\t\t\tName: pulumi.String(\"d1\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.incus.IncusFunctions;\nimport com.pulumi.incus.inputs.GetProjectArgs;\nimport com.pulumi.incus.Instance;\nimport com.pulumi.incus.InstanceArgs;\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 final var default = IncusFunctions.getProject(GetProjectArgs.builder()\n .name(\"default\")\n .build());\n\n var d1 = new Instance(\"d1\", InstanceArgs.builder()\n .project(default_.name())\n .image(\"images:debian/12\")\n .name(\"d1\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n d1:\n type: incus:Instance\n properties:\n project: ${default.name}\n image: images:debian/12\n name: d1\nvariables:\n default:\n fn::invoke:\n function: incus:getProject\n arguments:\n name: default\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getProject.\n", "properties": { diff --git a/provider/cmd/pulumi-tfgen-incus/main.go b/provider/cmd/pulumi-tfgen-incus/main.go index 9fe5aca..5fc28c6 100644 --- a/provider/cmd/pulumi-tfgen-incus/main.go +++ b/provider/cmd/pulumi-tfgen-incus/main.go @@ -17,8 +17,8 @@ package main import ( "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfgen" - incus "github.com/brandonkal/pulumi-incus/provider" - "github.com/brandonkal/pulumi-incus/provider/pkg/version" + incus "git.kalinow.ski/nimbus/pulumi-incus/provider" + "git.kalinow.ski/nimbus/pulumi-incus/provider/pkg/version" ) func main() { diff --git a/provider/go.mod b/provider/go.mod index b84e85d..ff58eea 100644 --- a/provider/go.mod +++ b/provider/go.mod @@ -1,4 +1,4 @@ -module github.com/brandonkal/pulumi-incus/provider +module git.kalinow.ski/nimbus/pulumi-incus/provider go 1.23.7 diff --git a/provider/resources.go b/provider/resources.go index 2b1111d..a47b9f1 100644 --- a/provider/resources.go +++ b/provider/resources.go @@ -31,7 +31,7 @@ import ( "github.com/pulumi/pulumi/pkg/v3/codegen/schema" "github.com/pulumi/pulumi/sdk/v3/go/common/resource" - "github.com/brandonkal/pulumi-incus/provider/pkg/version" + "git.kalinow.ski/nimbus/pulumi-incus/provider/pkg/version" ) // all of the token components used below. @@ -110,7 +110,7 @@ func Provider() tfbridge.ProviderInfo { // - "github.com/hashicorp/terraform-plugin-framework/provider".Provider (for plugin-framework) // //nolint:lll - P: pfbridge.ShimProvider(incus.Provider()()), + P: pfbridge.ShimProvider(incus.Provider(version.Version)()), Name: "incus", Version: version.Version, @@ -135,7 +135,6 @@ func Provider() tfbridge.ProviderInfo { // For all available categories, see `Keywords` in // https://www.pulumi.com/docs/guides/pulumi-packages/schema/#package. Keywords: []string{"incus", "category/cloud", "containers", "nimbus"}, - License: "Apache-2.0", Homepage: "https://linuxcontainers.org", Repository: "https://git.kalinow.ski/nimbus/pulumi-incus", // The GitHub Org for the provider - defaults to `terraform-providers`. Note that this should @@ -178,7 +177,7 @@ func Provider() tfbridge.ProviderInfo { Golang: &tfbridge.GolangInfo{ // Set where the SDK is going to be published to. ImportBasePath: path.Join( - "github.com/brandonkal/pulumi-incus/sdk/", + "git.kalinow.ski/nimbus/pulumi-incus/sdk/", tfbridge.GetModuleMajorVersion(version.Version), "go", mainPkg, diff --git a/provider/shim/shim.go b/provider/shim/shim.go index 3ca328d..51adf54 100644 --- a/provider/shim/shim.go +++ b/provider/shim/shim.go @@ -6,6 +6,6 @@ import ( ) // Provider returns a Terraform Plugin Framework provider -func Provider() func() tfprovider.Provider { - return provider.NewIncusProvider("dev") +func Provider(version string) func() tfprovider.Provider { + return provider.NewIncusProvider(version) }