{"id":24041853,"url":"https://github.com/virtuslabrnd/pulumi-kotlin","last_synced_at":"2025-04-19T19:52:00.812Z","repository":{"id":64964314,"uuid":"531060226","full_name":"VirtuslabRnD/pulumi-kotlin","owner":"VirtuslabRnD","description":"Experimental support for Kotlin language in Pulumi","archived":false,"fork":false,"pushed_at":"2024-12-30T11:09:08.000Z","size":5727,"stargazers_count":62,"open_issues_count":65,"forks_count":3,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-01-02T23:36:41.283Z","etag":null,"topics":["aws","azure","cloud","cloud-computing","gcp","google-cloud","iac","infrastructure-as-code","java","kotlin","kubernetes","pulumi"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/VirtuslabRnD.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-08-31T11:48:29.000Z","updated_at":"2024-12-30T10:56:19.000Z","dependencies_parsed_at":"2023-09-23T10:21:12.027Z","dependency_job_id":"39cf76a2-ed4b-492e-a2be-51d59bd66fc8","html_url":"https://github.com/VirtuslabRnD/pulumi-kotlin","commit_stats":null,"previous_names":[],"tags_count":385,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VirtuslabRnD%2Fpulumi-kotlin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VirtuslabRnD%2Fpulumi-kotlin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VirtuslabRnD%2Fpulumi-kotlin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VirtuslabRnD%2Fpulumi-kotlin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/VirtuslabRnD","download_url":"https://codeload.github.com/VirtuslabRnD/pulumi-kotlin/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":233105707,"owners_count":18625883,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws","azure","cloud","cloud-computing","gcp","google-cloud","iac","infrastructure-as-code","java","kotlin","kubernetes","pulumi"],"created_at":"2025-01-08T22:12:53.324Z","updated_at":"2025-04-19T19:52:00.790Z","avatar_url":"https://github.com/VirtuslabRnD.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c/br\u003e\n\u003cp align=\"center\"\u003e\n   \u003cimg width=\"40\" src=\"https://github.com/VirtuslabRnD/pulumi-kotlin/assets/4415632/01eaed9a-2acc-455c-a2e7-0c945406447c\" /\u003e\n\u003c/p\u003e\n\n# Pulumi Kotlin SDK\n\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"https://github.com/VirtuslabRnD/pulumi-kotlin/assets/4415632/feb4d51e-f223-4a80-a164-ed6cb4500526\" /\u003e\n\u003c/p\u003e\n\nExperimental support for Kotlin language in [Pulumi](https://www.pulumi.com/).\n\n**This is a proof of concept.** [We really need your feedback](#giving-feedback) before adding more features, improving\nthe code and integrating with the Pulumi ecosystem.\n\n## Navigation\n\n- [Articles and talks](#articles-and-talks)\n\n- [Code examples](#code-examples)\n\n- [Getting started](#getting-started)\n\n- [Supported providers](#supported-providers)\n\n- [Giving feedback](#giving-feedback)\n\n- [Development docs](#development-docs)\n\n## Articles and talks\n\n- [Pulumi Kotlin. The missing piece in Kotlin multi-platform](https://medium.com/virtuslab/pulumi-kotlin-9c0cb2d53e1c) by [@jplewa](https://github.com/jplewa)\n- [Infrastructure as code done right with JVM](https://2023.javazone.no/program/444fd903-4857-4591-b0c2-a824ccf5d3af) by [@lbialy](https://github.com/lbialy)\n\n## Code examples\n\n\u003e ℹ️ You can find more examples [here][pulumi-kotlin-code-examples].\n\n### Provisioning a virtual machine on Google Cloud Platform\n\n```kotlin\nimport com.pulumi.gcp.compute.kotlin.ComputeFunctions\nimport com.pulumi.gcp.compute.kotlin.instance\nimport com.pulumi.kotlin.Pulumi\n\nfun main() {\n    Pulumi.run { ctx -\u003e\n        val debianImage = ComputeFunctions.getImage {\n            family(\"debian-11\")\n            project(\"debian-cloud\")\n        }\n    \n        val instance = instance(\"gcp-sample-instance\") {\n            args {\n                machineType(\"e2-micro\")\n                zone(\"europe-central2-a\")\n                tags(\"foo\", \"bar\")\n                bootDisk {\n                    autoDelete(true)\n                    initializeParams {\n                        image(debianImage.name)\n                    }\n                }\n                networkInterfaces {\n                    network(\"default\")\n                }\n                metadata(\"foo\" to \"bar\")\n                metadataStartupScript(\"echo hi \u003e /test.txt\")\n                serviceAccount {\n                    scopes(\"cloud-platform\")\n                }\n            }\n        }\n\n        ctx.export(\"instanceName\", instance.name)\n    }\n}\n```\n\n### Provisioning a virtual machine on Azure\n```kotlin\nimport com.pulumi.azurenative.compute.kotlin.enums.CachingTypes.ReadWrite\nimport com.pulumi.azurenative.compute.kotlin.enums.DiskCreateOptionTypes.FromImage\nimport com.pulumi.azurenative.compute.kotlin.enums.DiskDeleteOptionTypes.Delete\nimport com.pulumi.azurenative.network.kotlin.enums.IPAllocationMethod.Dynamic\nimport com.pulumi.azurenative.compute.kotlin.enums.StorageAccountTypes.Standard_LRS\nimport com.pulumi.azurenative.compute.kotlin.enums.VirtualMachineSizeTypes.Standard_B1s\nimport com.pulumi.azurenative.compute.kotlin.virtualMachine\nimport com.pulumi.azurenative.network.kotlin.networkInterface\nimport com.pulumi.azurenative.network.kotlin.subnet\nimport com.pulumi.azurenative.network.kotlin.virtualNetwork\nimport com.pulumi.azurenative.resources.kotlin.resourceGroup\nimport com.pulumi.kotlin.Pulumi\n\nfun main() {\n    Pulumi.run { ctx -\u003e\n        val resourceGroup = resourceGroup(\"azure-native-sample-vm\")\n\n        val mainVirtualNetwork = virtualNetwork(\"virtual-network\") {\n            args {\n                resourceGroupName(resourceGroup.name)\n                addressSpace {\n                    addressPrefixes(\"10.0.0.0/16\")\n                }\n            }\n        }\n\n        val internalSubnet = subnet(\"internal-subnet\") {\n            args {\n                resourceGroupName(resourceGroup.name)\n                virtualNetworkName(mainVirtualNetwork.name)\n                addressPrefix(\"10.0.2.0/24\")\n            }\n        }\n\n        val mainNetworkInterface = networkInterface(\"network-interface\") {\n            args {\n                resourceGroupName(resourceGroup.name)\n                ipConfigurations {\n                    name(\"testconfiguration1\")\n                    subnet {\n                        id(internalSubnet.id)\n                    }\n                    privateIPAllocationMethod(Dynamic)\n                }\n            }\n        }\n\n        val virtualMachine = virtualMachine(\"virtual-machine\") {\n            args {\n                resourceGroupName(resourceGroup.name)\n                networkProfile {\n                    networkInterfaces {\n                        id(mainNetworkInterface.id)\n                    }\n                }\n                hardwareProfile {\n                    vmSize(Standard_B1s)\n                }\n                storageProfile {\n                    imageReference {\n                        publisher(\"Canonical\")\n                        offer(\"UbuntuServer\")\n                        sku(\"16.04-LTS\")\n                        version(\"latest\")\n                    }\n                    osDisk {\n                        name(\"myosdisk1\")\n                        caching(ReadWrite)\n                        createOption(FromImage)\n                        managedDisk {\n                            storageAccountType(Standard_LRS)\n                        }\n                        deleteOption(Delete)\n                    }\n                }\n                osProfile {\n                    computerName(\"hostname\")\n                    adminUsername(\"testadmin\")\n                    adminPassword(\"testpassword\")\n                }\n            }\n        }\n\n        ctx.export(\"virtualMachineId\", virtualMachine.id)\n    }\n}\n```\n\n### Creating a Kubernetes deployment\n\n```kotlin\nimport com.pulumi.kotlin.Pulumi\nimport com.pulumi.kubernetes.apps.v1.kotlin.deployment\n\nfun main() {\n    Pulumi.run { ctx -\u003e\n        val deployment = deployment(\"nginx\") {\n            args {\n                spec {\n                    selector {\n                        matchLabels(\"app\" to \"nginx\")\n                    }\n                    replicas(1)\n                    template {\n                        metadata {\n                            labels(\"app\" to \"nginx\")\n                        }\n                        spec {\n                            containers {\n                                name(\"nginx\")\n                                image(\"nginx\")\n                                ports {\n                                    containerPort(80)\n                                }\n                            }\n                        }\n                    }\n                }\n            }\n        }\n\n        val name = deployment.metadata?.applyValue { it.name.orEmpty() }\n\n        ctx.export(\"name\", name)\n    }\n}\n```\n\n## Getting started\n\n#### 1. Install Pulumi.\n\nTo install the latest Pulumi release, run the following \n(see full [installation instructions][pulumi-installation-guide] for additional installation options):\n\n```bash\n$ curl -fsSL https://get.pulumi.com/ | sh\n```\n\n#### 2. Create a Pulumi project.\n\n\u003e ⚠️ There are no Kotlin-specific templates for `pulumi new` yet. You need to use Java templates (e.g. `aws-java`).\n\nTo create a new Pulumi project, you need to use the `pulumi new` command.\n\n##### Maven\n\n```bash\n$ mkdir pulumi-kotlin-demo \u0026\u0026 cd pulumi-kotlin-demo\n$ pulumi new aws-java\n```\n\n##### Gradle\n\n```bash\n$ mkdir pulumi-kotlin-demo \u0026\u0026 cd pulumi-kotlin-demo\n$ pulumi new https://github.com/myhau/pulumi-templates/tree/add-template-for-java-gradle-with-kotlin-dsl/java-gradle-kts\n```\n\n#### 3. Add new or replace existing dependencies\n\n\u003e ℹ️ See [the section below](#supported-providers) for the full list of supported providers along with docs.\n\n##### Maven\n\nCopy the `dependency` block from [the table below (Supported providers)](#supported-providers) and paste it to your \n`pom.xml`. For example:\n\n```xml\n\u003cdependency\u003e\n    \u003cgroupId\u003eorg.virtuslab\u003c/groupId\u003e\n    \u003cartifactId\u003epulumi-google-native-kotlin\u003c/artifactId\u003e\n    \u003cversion\u003e0.31.0.0\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\nAny existing Java-specific dependency can be replaced with its Kotlin-specific equivalent. For example:\n\n```xml\n\u003cdependency\u003e\n    \u003cgroupId\u003ecom.pulumi\u003c/groupId\u003e\n    \u003cartifactId\u003eaws\u003c/artifactId\u003e\n    \u003cversion\u003e5.42.0\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\ncan be replaced with:\n\n```xml\n\n\u003cdependency\u003e\n    \u003cgroupId\u003eorg.virtuslab\u003c/groupId\u003e\n    \u003cartifactId\u003epulumi-aws-kotlin\u003c/artifactId\u003e\n    \u003cversion\u003e5.42.0.0\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\nSimilarly, when it comes to the base Pulumi dependency, you can replace this:\n\n```xml\n\u003cdependency\u003e\n    \u003cgroupId\u003ecom.pulumi\u003c/groupId\u003e\n    \u003cartifactId\u003epulumi\u003c/artifactId\u003e\n    \u003cversion\u003e0.11.0\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\nwith this:\n\n```xml\n\u003cdependency\u003e\n    \u003cgroupId\u003eorg.virtuslab\u003c/groupId\u003e\n    \u003cartifactId\u003epulumi-kotlin\u003c/artifactId\u003e\n    \u003cversion\u003e0.11.0.0\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\n##### Gradle\n\nCopy the dependency from [the table below (Supported providers)](#supported-providers) and paste it to your\n`build.gradle.kts`. For example:\n\n```kt\nimplementation(\"org.virtuslab:pulumi-google-native-kotlin:0.31.0.0\")\n```\n\nAny existing Java-specific dependency can be replaced with its Kotlin-specific equivalent. For example:\n\n```kt\nimplementation(\"com.pulumi.aws:5.42.0\")\n```\n\ncan be replaced with: \n\n```kt\nimplementation(\"org.virtuslab.pulumi-aws-kotlin:5.42.0.0\")\n```\n\nSimilarly, when it comes to the base Pulumi dependency, you can replace this:\n\n```kt\nimplementation(\"com.pulumi:pulumi:0.11.0\")\n```\n\nwith this:\n\n```kt\nimplementation(\"org.virtuslab:pulumi-kotlin:0.11.0.0\")\n```\n\n#### 4. Read the docs.\n\n\u003e ⚠️ For now, docs viewable in your text editor (and Kotlin API docs hosted [here][google-native-kdoc]) \n\u003e only include Java SDK example snippets. \n\nUsing IntelliJ is heavily recommended as it can guide you through type-safe Kotlin DSLs.\n\nAdditionally, there are two sources of documentation:\n\n- Pulumi official docs (example for [`google-native`][google-native-registry-docs])\n- Kotlin API docs (example for [`google-native`][google-native-kdoc])\n\n#### 5. Write the code.\n\nWrite the code that describes your resources: \n\n```kotlin\nimport com.pulumi.kotlin.Pulumi\n\nfun main() {\n  Pulumi.run { ctx -\u003e\n    // your resources\n  }\n}\n```\n\nFor inspiration, see the\n[\"Provisioning a virtual machine on Google Cloud Platform\"](#provisioning-a-virtual-machine-on-google-cloud-platform)\nexample above (it's from Pulumi Java docs for Google Native provider, rewritten to Pulumi Kotlin).\n\n#### 6. Deploy to the cloud.\n\nRun `pulumi up`. This provisions all cloud resources declared in your code.\n\n## Supported providers\n\nThe table below lists the providers that are currently supported by Pulumi Kotlin SDK. A full list of all Pulumi\nproviders can be found [here][pulumi-registry].\n\nThese Kotlin libraries serve as a wrapper on top of corresponding Java libraries.\n\nFor convenience, they follow the same versioning pattern with an additional `KOTLIN-PATCH` version\nnumber (`MAJOR.MINOR.PATCH.KOTLIN-PATCH`). For example, version `5.16.2.0` of Pulumi Kotlin AWS provider is a wrapper on\ntop of version `5.16.2` of Pulumi Java AWS provider.\n\nIf the additional index is incremented (e.g. to `5.16.2.1`), it means that some updates were made to our generator and\nthat the Kotlin code has been improved, but the underlying Java library remained the same.\n\n[//]: # (This table is generated automatically during releases, don't alter it manually unless absolutely necessary.)\n\u003ctable id=\"pulumi-kotlin-versions-table\"\u003e\n  \u003ctr\u003e\n    \u003cth\u003eName\u003c/th\u003e\n    \u003cth\u003eVersion\u003c/th\u003e\n    \u003cth\u003eMaven artifact\u003c/th\u003e\n    \u003cth\u003eGradle artifact\u003c/th\u003e\n    \u003cth\u003eMaven Central\u003c/th\u003e\n    \u003cth\u003ePulumi official docs\u003c/th\u003e\n    \u003cth\u003eKotlin API docs\u003c/th\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003ecloudflare\u003c/td\u003e\n    \u003ctd\u003e4.16.0.2\u003c/td\u003e\n    \u003ctd\u003e \n \n```xml\n\u003cdependency\u003e\n     \u003cgroupId\u003eorg.virtuslab\u003c/groupId\u003e\n     \u003cartifactId\u003epulumi-cloudflare-kotlin\u003c/artifactId\u003e\n     \u003cversion\u003e4.16.0.2\u003c/version\u003e\n\u003c/dependency\u003e\n```\n \n \u003c/td\u003e\n    \u003ctd\u003e \n \n```kt\nimplementation(\"org.virtuslab:pulumi-cloudflare-kotlin:4.16.0.2\")\n```\n \n \u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://search.maven.org/artifact/org.virtuslab/pulumi-cloudflare-kotlin\"\u003elink\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://www.pulumi.com/registry/packages/cloudflare\"\u003elink\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://storage.googleapis.com/pulumi-kotlin-docs/cloudflare/4.16.0.2/index.html\"\u003elink\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003ecloudflare\u003c/td\u003e\n    \u003ctd\u003e5.49.1.0\u003c/td\u003e\n    \u003ctd\u003e \n \n```xml\n\u003cdependency\u003e\n     \u003cgroupId\u003eorg.virtuslab\u003c/groupId\u003e\n     \u003cartifactId\u003epulumi-cloudflare-kotlin\u003c/artifactId\u003e\n     \u003cversion\u003e5.49.1.0\u003c/version\u003e\n\u003c/dependency\u003e\n```\n \n \u003c/td\u003e\n    \u003ctd\u003e \n \n```kt\nimplementation(\"org.virtuslab:pulumi-cloudflare-kotlin:5.49.1.0\")\n```\n \n \u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://search.maven.org/artifact/org.virtuslab/pulumi-cloudflare-kotlin\"\u003elink\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://www.pulumi.com/registry/packages/cloudflare\"\u003elink\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://storage.googleapis.com/pulumi-kotlin-docs/cloudflare/5.49.1.0/index.html\"\u003elink\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003ecloudflare\u003c/td\u003e\n    \u003ctd\u003e6.0.1.0\u003c/td\u003e\n    \u003ctd\u003e \n \n```xml\n\u003cdependency\u003e\n     \u003cgroupId\u003eorg.virtuslab\u003c/groupId\u003e\n     \u003cartifactId\u003epulumi-cloudflare-kotlin\u003c/artifactId\u003e\n     \u003cversion\u003e6.0.1.0\u003c/version\u003e\n\u003c/dependency\u003e\n```\n \n \u003c/td\u003e\n    \u003ctd\u003e \n \n```kt\nimplementation(\"org.virtuslab:pulumi-cloudflare-kotlin:6.0.1.0\")\n```\n \n \u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://search.maven.org/artifact/org.virtuslab/pulumi-cloudflare-kotlin\"\u003elink\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://www.pulumi.com/registry/packages/cloudflare\"\u003elink\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://storage.googleapis.com/pulumi-kotlin-docs/cloudflare/6.0.1.0/index.html\"\u003elink\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eslack\u003c/td\u003e\n    \u003ctd\u003e0.4.11.0\u003c/td\u003e\n    \u003ctd\u003e \n \n```xml\n\u003cdependency\u003e\n     \u003cgroupId\u003eorg.virtuslab\u003c/groupId\u003e\n     \u003cartifactId\u003epulumi-slack-kotlin\u003c/artifactId\u003e\n     \u003cversion\u003e0.4.11.0\u003c/version\u003e\n\u003c/dependency\u003e\n```\n \n \u003c/td\u003e\n    \u003ctd\u003e \n \n```kt\nimplementation(\"org.virtuslab:pulumi-slack-kotlin:0.4.11.0\")\n```\n \n \u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://search.maven.org/artifact/org.virtuslab/pulumi-slack-kotlin\"\u003elink\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://www.pulumi.com/registry/packages/slack\"\u003elink\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://storage.googleapis.com/pulumi-kotlin-docs/slack/0.4.11.0/index.html\"\u003elink\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003egithub\u003c/td\u003e\n    \u003ctd\u003e5.26.0.1\u003c/td\u003e\n    \u003ctd\u003e \n \n```xml\n\u003cdependency\u003e\n     \u003cgroupId\u003eorg.virtuslab\u003c/groupId\u003e\n     \u003cartifactId\u003epulumi-github-kotlin\u003c/artifactId\u003e\n     \u003cversion\u003e5.26.0.1\u003c/version\u003e\n\u003c/dependency\u003e\n```\n \n \u003c/td\u003e\n    \u003ctd\u003e \n \n```kt\nimplementation(\"org.virtuslab:pulumi-github-kotlin:5.26.0.1\")\n```\n \n \u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://search.maven.org/artifact/org.virtuslab/pulumi-github-kotlin\"\u003elink\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://www.pulumi.com/registry/packages/github\"\u003elink\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://storage.googleapis.com/pulumi-kotlin-docs/github/5.26.0.1/index.html\"\u003elink\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003egithub\u003c/td\u003e\n    \u003ctd\u003e6.7.0.0\u003c/td\u003e\n    \u003ctd\u003e \n \n```xml\n\u003cdependency\u003e\n     \u003cgroupId\u003eorg.virtuslab\u003c/groupId\u003e\n     \u003cartifactId\u003epulumi-github-kotlin\u003c/artifactId\u003e\n     \u003cversion\u003e6.7.0.0\u003c/version\u003e\n\u003c/dependency\u003e\n```\n \n \u003c/td\u003e\n    \u003ctd\u003e \n \n```kt\nimplementation(\"org.virtuslab:pulumi-github-kotlin:6.7.0.0\")\n```\n \n \u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://search.maven.org/artifact/org.virtuslab/pulumi-github-kotlin\"\u003elink\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://www.pulumi.com/registry/packages/github\"\u003elink\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://storage.googleapis.com/pulumi-kotlin-docs/github/6.7.0.0/index.html\"\u003elink\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003erandom\u003c/td\u003e\n    \u003ctd\u003e4.18.0.0\u003c/td\u003e\n    \u003ctd\u003e \n \n```xml\n\u003cdependency\u003e\n     \u003cgroupId\u003eorg.virtuslab\u003c/groupId\u003e\n     \u003cartifactId\u003epulumi-random-kotlin\u003c/artifactId\u003e\n     \u003cversion\u003e4.18.0.0\u003c/version\u003e\n\u003c/dependency\u003e\n```\n \n \u003c/td\u003e\n    \u003ctd\u003e \n \n```kt\nimplementation(\"org.virtuslab:pulumi-random-kotlin:4.18.0.0\")\n```\n \n \u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://search.maven.org/artifact/org.virtuslab/pulumi-random-kotlin\"\u003elink\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://www.pulumi.com/registry/packages/random\"\u003elink\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://storage.googleapis.com/pulumi-kotlin-docs/random/4.18.0.0/index.html\"\u003elink\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003egcp\u003c/td\u003e\n    \u003ctd\u003e6.67.1.1\u003c/td\u003e\n    \u003ctd\u003e \n \n```xml\n\u003cdependency\u003e\n     \u003cgroupId\u003eorg.virtuslab\u003c/groupId\u003e\n     \u003cartifactId\u003epulumi-gcp-kotlin\u003c/artifactId\u003e\n     \u003cversion\u003e6.67.1.1\u003c/version\u003e\n\u003c/dependency\u003e\n```\n \n \u003c/td\u003e\n    \u003ctd\u003e \n \n```kt\nimplementation(\"org.virtuslab:pulumi-gcp-kotlin:6.67.1.1\")\n```\n \n \u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://search.maven.org/artifact/org.virtuslab/pulumi-gcp-kotlin\"\u003elink\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://www.pulumi.com/registry/packages/gcp\"\u003elink\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://storage.googleapis.com/pulumi-kotlin-docs/gcp/6.67.1.1/index.html\"\u003elink\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003egcp\u003c/td\u003e\n    \u003ctd\u003e7.38.0.0\u003c/td\u003e\n    \u003ctd\u003e \n \n```xml\n\u003cdependency\u003e\n     \u003cgroupId\u003eorg.virtuslab\u003c/groupId\u003e\n     \u003cartifactId\u003epulumi-gcp-kotlin\u003c/artifactId\u003e\n     \u003cversion\u003e7.38.0.0\u003c/version\u003e\n\u003c/dependency\u003e\n```\n \n \u003c/td\u003e\n    \u003ctd\u003e \n \n```kt\nimplementation(\"org.virtuslab:pulumi-gcp-kotlin:7.38.0.0\")\n```\n \n \u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://search.maven.org/artifact/org.virtuslab/pulumi-gcp-kotlin\"\u003elink\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://www.pulumi.com/registry/packages/gcp\"\u003elink\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://storage.googleapis.com/pulumi-kotlin-docs/gcp/7.38.0.0/index.html\"\u003elink\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003egcp\u003c/td\u003e\n    \u003ctd\u003e8.25.1.0\u003c/td\u003e\n    \u003ctd\u003e \n \n```xml\n\u003cdependency\u003e\n     \u003cgroupId\u003eorg.virtuslab\u003c/groupId\u003e\n     \u003cartifactId\u003epulumi-gcp-kotlin\u003c/artifactId\u003e\n     \u003cversion\u003e8.25.1.0\u003c/version\u003e\n\u003c/dependency\u003e\n```\n \n \u003c/td\u003e\n    \u003ctd\u003e \n \n```kt\nimplementation(\"org.virtuslab:pulumi-gcp-kotlin:8.25.1.0\")\n```\n \n \u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://search.maven.org/artifact/org.virtuslab/pulumi-gcp-kotlin\"\u003elink\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://www.pulumi.com/registry/packages/gcp\"\u003elink\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://storage.googleapis.com/pulumi-kotlin-docs/gcp/8.25.1.0/index.html\"\u003elink\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003egoogle-native\u003c/td\u003e\n    \u003ctd\u003e0.31.1.2\u003c/td\u003e\n    \u003ctd\u003e \n \n```xml\n\u003cdependency\u003e\n     \u003cgroupId\u003eorg.virtuslab\u003c/groupId\u003e\n     \u003cartifactId\u003epulumi-google-native-kotlin\u003c/artifactId\u003e\n     \u003cversion\u003e0.31.1.2\u003c/version\u003e\n\u003c/dependency\u003e\n```\n \n \u003c/td\u003e\n    \u003ctd\u003e \n \n```kt\nimplementation(\"org.virtuslab:pulumi-google-native-kotlin:0.31.1.2\")\n```\n \n \u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://search.maven.org/artifact/org.virtuslab/pulumi-google-native-kotlin\"\u003elink\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://www.pulumi.com/registry/packages/google-native\"\u003elink\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://storage.googleapis.com/pulumi-kotlin-docs/google-native/0.31.1.2/index.html\"\u003elink\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eaws\u003c/td\u003e\n    \u003ctd\u003e5.43.0.1\u003c/td\u003e\n    \u003ctd\u003e \n \n```xml\n\u003cdependency\u003e\n     \u003cgroupId\u003eorg.virtuslab\u003c/groupId\u003e\n     \u003cartifactId\u003epulumi-aws-kotlin\u003c/artifactId\u003e\n     \u003cversion\u003e5.43.0.1\u003c/version\u003e\n\u003c/dependency\u003e\n```\n \n \u003c/td\u003e\n    \u003ctd\u003e \n \n```kt\nimplementation(\"org.virtuslab:pulumi-aws-kotlin:5.43.0.1\")\n```\n \n \u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://search.maven.org/artifact/org.virtuslab/pulumi-aws-kotlin\"\u003elink\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://www.pulumi.com/registry/packages/aws\"\u003elink\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://storage.googleapis.com/pulumi-kotlin-docs/aws/5.43.0.1/index.html\"\u003elink\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eaws\u003c/td\u003e\n    \u003ctd\u003e6.76.0.0\u003c/td\u003e\n    \u003ctd\u003e \n \n```xml\n\u003cdependency\u003e\n     \u003cgroupId\u003eorg.virtuslab\u003c/groupId\u003e\n     \u003cartifactId\u003epulumi-aws-kotlin\u003c/artifactId\u003e\n     \u003cversion\u003e6.76.0.0\u003c/version\u003e\n\u003c/dependency\u003e\n```\n \n \u003c/td\u003e\n    \u003ctd\u003e \n \n```kt\nimplementation(\"org.virtuslab:pulumi-aws-kotlin:6.76.0.0\")\n```\n \n \u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://search.maven.org/artifact/org.virtuslab/pulumi-aws-kotlin\"\u003elink\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://www.pulumi.com/registry/packages/aws\"\u003elink\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://storage.googleapis.com/pulumi-kotlin-docs/aws/6.76.0.0/index.html\"\u003elink\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eaws-native\u003c/td\u003e\n    \u003ctd\u003e0.126.0.0\u003c/td\u003e\n    \u003ctd\u003e \n \n```xml\n\u003cdependency\u003e\n     \u003cgroupId\u003eorg.virtuslab\u003c/groupId\u003e\n     \u003cartifactId\u003epulumi-aws-native-kotlin\u003c/artifactId\u003e\n     \u003cversion\u003e0.126.0.0\u003c/version\u003e\n\u003c/dependency\u003e\n```\n \n \u003c/td\u003e\n    \u003ctd\u003e \n \n```kt\nimplementation(\"org.virtuslab:pulumi-aws-native-kotlin:0.126.0.0\")\n```\n \n \u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://search.maven.org/artifact/org.virtuslab/pulumi-aws-native-kotlin\"\u003elink\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://www.pulumi.com/registry/packages/aws-native\"\u003elink\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://storage.googleapis.com/pulumi-kotlin-docs/aws-native/0.126.0.0/index.html\"\u003elink\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eaws-native\u003c/td\u003e\n    \u003ctd\u003e1.27.0.0\u003c/td\u003e\n    \u003ctd\u003e \n \n```xml\n\u003cdependency\u003e\n     \u003cgroupId\u003eorg.virtuslab\u003c/groupId\u003e\n     \u003cartifactId\u003epulumi-aws-native-kotlin\u003c/artifactId\u003e\n     \u003cversion\u003e1.27.0.0\u003c/version\u003e\n\u003c/dependency\u003e\n```\n \n \u003c/td\u003e\n    \u003ctd\u003e \n \n```kt\nimplementation(\"org.virtuslab:pulumi-aws-native-kotlin:1.27.0.0\")\n```\n \n \u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://search.maven.org/artifact/org.virtuslab/pulumi-aws-native-kotlin\"\u003elink\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://www.pulumi.com/registry/packages/aws-native\"\u003elink\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://storage.googleapis.com/pulumi-kotlin-docs/aws-native/1.27.0.0/index.html\"\u003elink\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eazure\u003c/td\u003e\n    \u003ctd\u003e5.87.0.0\u003c/td\u003e\n    \u003ctd\u003e \n \n```xml\n\u003cdependency\u003e\n     \u003cgroupId\u003eorg.virtuslab\u003c/groupId\u003e\n     \u003cartifactId\u003epulumi-azure-kotlin\u003c/artifactId\u003e\n     \u003cversion\u003e5.87.0.0\u003c/version\u003e\n\u003c/dependency\u003e\n```\n \n \u003c/td\u003e\n    \u003ctd\u003e \n \n```kt\nimplementation(\"org.virtuslab:pulumi-azure-kotlin:5.87.0.0\")\n```\n \n \u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://search.maven.org/artifact/org.virtuslab/pulumi-azure-kotlin\"\u003elink\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://www.pulumi.com/registry/packages/azure\"\u003elink\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://storage.googleapis.com/pulumi-kotlin-docs/azure/5.87.0.0/index.html\"\u003elink\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eazure\u003c/td\u003e\n    \u003ctd\u003e6.22.0.0\u003c/td\u003e\n    \u003ctd\u003e \n \n```xml\n\u003cdependency\u003e\n     \u003cgroupId\u003eorg.virtuslab\u003c/groupId\u003e\n     \u003cartifactId\u003epulumi-azure-kotlin\u003c/artifactId\u003e\n     \u003cversion\u003e6.22.0.0\u003c/version\u003e\n\u003c/dependency\u003e\n```\n \n \u003c/td\u003e\n    \u003ctd\u003e \n \n```kt\nimplementation(\"org.virtuslab:pulumi-azure-kotlin:6.22.0.0\")\n```\n \n \u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://search.maven.org/artifact/org.virtuslab/pulumi-azure-kotlin\"\u003elink\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://www.pulumi.com/registry/packages/azure\"\u003elink\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://storage.googleapis.com/pulumi-kotlin-docs/azure/6.22.0.0/index.html\"\u003elink\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eazure-native\u003c/td\u003e\n    \u003ctd\u003e1.104.0.2\u003c/td\u003e\n    \u003ctd\u003e \n \n```xml\n\u003cdependency\u003e\n     \u003cgroupId\u003eorg.virtuslab\u003c/groupId\u003e\n     \u003cartifactId\u003epulumi-azure-native-kotlin\u003c/artifactId\u003e\n     \u003cversion\u003e1.104.0.2\u003c/version\u003e\n\u003c/dependency\u003e\n```\n \n \u003c/td\u003e\n    \u003ctd\u003e \n \n```kt\nimplementation(\"org.virtuslab:pulumi-azure-native-kotlin:1.104.0.2\")\n```\n \n \u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://search.maven.org/artifact/org.virtuslab/pulumi-azure-native-kotlin\"\u003elink\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://www.pulumi.com/registry/packages/azure-native\"\u003elink\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://storage.googleapis.com/pulumi-kotlin-docs/azure-native/1.104.0.2/index.html\"\u003elink\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eazure-native\u003c/td\u003e\n    \u003ctd\u003e2.90.0.0\u003c/td\u003e\n    \u003ctd\u003e \n \n```xml\n\u003cdependency\u003e\n     \u003cgroupId\u003eorg.virtuslab\u003c/groupId\u003e\n     \u003cartifactId\u003epulumi-azure-native-kotlin\u003c/artifactId\u003e\n     \u003cversion\u003e2.90.0.0\u003c/version\u003e\n\u003c/dependency\u003e\n```\n \n \u003c/td\u003e\n    \u003ctd\u003e \n \n```kt\nimplementation(\"org.virtuslab:pulumi-azure-native-kotlin:2.90.0.0\")\n```\n \n \u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://search.maven.org/artifact/org.virtuslab/pulumi-azure-native-kotlin\"\u003elink\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://www.pulumi.com/registry/packages/azure-native\"\u003elink\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://storage.googleapis.com/pulumi-kotlin-docs/azure-native/2.90.0.0/index.html\"\u003elink\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eazure-native\u003c/td\u003e\n    \u003ctd\u003e3.0.1.0\u003c/td\u003e\n    \u003ctd\u003e \n \n```xml\n\u003cdependency\u003e\n     \u003cgroupId\u003eorg.virtuslab\u003c/groupId\u003e\n     \u003cartifactId\u003epulumi-azure-native-kotlin\u003c/artifactId\u003e\n     \u003cversion\u003e3.0.1.0\u003c/version\u003e\n\u003c/dependency\u003e\n```\n \n \u003c/td\u003e\n    \u003ctd\u003e \n \n```kt\nimplementation(\"org.virtuslab:pulumi-azure-native-kotlin:3.0.1.0\")\n```\n \n \u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://search.maven.org/artifact/org.virtuslab/pulumi-azure-native-kotlin\"\u003elink\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://www.pulumi.com/registry/packages/azure-native\"\u003elink\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://storage.googleapis.com/pulumi-kotlin-docs/azure-native/3.0.1.0/index.html\"\u003elink\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003ekubernetes\u003c/td\u003e\n    \u003ctd\u003e3.30.2.2\u003c/td\u003e\n    \u003ctd\u003e \n \n```xml\n\u003cdependency\u003e\n     \u003cgroupId\u003eorg.virtuslab\u003c/groupId\u003e\n     \u003cartifactId\u003epulumi-kubernetes-kotlin\u003c/artifactId\u003e\n     \u003cversion\u003e3.30.2.2\u003c/version\u003e\n\u003c/dependency\u003e\n```\n \n \u003c/td\u003e\n    \u003ctd\u003e \n \n```kt\nimplementation(\"org.virtuslab:pulumi-kubernetes-kotlin:3.30.2.2\")\n```\n \n \u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://search.maven.org/artifact/org.virtuslab/pulumi-kubernetes-kotlin\"\u003elink\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://www.pulumi.com/registry/packages/kubernetes\"\u003elink\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://storage.googleapis.com/pulumi-kotlin-docs/kubernetes/3.30.2.2/index.html\"\u003elink\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003ekubernetes\u003c/td\u003e\n    \u003ctd\u003e4.22.2.0\u003c/td\u003e\n    \u003ctd\u003e \n \n```xml\n\u003cdependency\u003e\n     \u003cgroupId\u003eorg.virtuslab\u003c/groupId\u003e\n     \u003cartifactId\u003epulumi-kubernetes-kotlin\u003c/artifactId\u003e\n     \u003cversion\u003e4.22.2.0\u003c/version\u003e\n\u003c/dependency\u003e\n```\n \n \u003c/td\u003e\n    \u003ctd\u003e \n \n```kt\nimplementation(\"org.virtuslab:pulumi-kubernetes-kotlin:4.22.2.0\")\n```\n \n \u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://search.maven.org/artifact/org.virtuslab/pulumi-kubernetes-kotlin\"\u003elink\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://www.pulumi.com/registry/packages/kubernetes\"\u003elink\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://storage.googleapis.com/pulumi-kotlin-docs/kubernetes/4.22.2.0/index.html\"\u003elink\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003enomad\u003c/td\u003e\n    \u003ctd\u003e0.4.1.2\u003c/td\u003e\n    \u003ctd\u003e \n \n```xml\n\u003cdependency\u003e\n     \u003cgroupId\u003eorg.virtuslab\u003c/groupId\u003e\n     \u003cartifactId\u003epulumi-nomad-kotlin\u003c/artifactId\u003e\n     \u003cversion\u003e0.4.1.2\u003c/version\u003e\n\u003c/dependency\u003e\n```\n \n \u003c/td\u003e\n    \u003ctd\u003e \n \n```kt\nimplementation(\"org.virtuslab:pulumi-nomad-kotlin:0.4.1.2\")\n```\n \n \u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://search.maven.org/artifact/org.virtuslab/pulumi-nomad-kotlin\"\u003elink\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://www.pulumi.com/registry/packages/nomad\"\u003elink\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://storage.googleapis.com/pulumi-kotlin-docs/nomad/0.4.1.2/index.html\"\u003elink\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003enomad\u003c/td\u003e\n    \u003ctd\u003e2.5.0.0\u003c/td\u003e\n    \u003ctd\u003e \n \n```xml\n\u003cdependency\u003e\n     \u003cgroupId\u003eorg.virtuslab\u003c/groupId\u003e\n     \u003cartifactId\u003epulumi-nomad-kotlin\u003c/artifactId\u003e\n     \u003cversion\u003e2.5.0.0\u003c/version\u003e\n\u003c/dependency\u003e\n```\n \n \u003c/td\u003e\n    \u003ctd\u003e \n \n```kt\nimplementation(\"org.virtuslab:pulumi-nomad-kotlin:2.5.0.0\")\n```\n \n \u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://search.maven.org/artifact/org.virtuslab/pulumi-nomad-kotlin\"\u003elink\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://www.pulumi.com/registry/packages/nomad\"\u003elink\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://storage.googleapis.com/pulumi-kotlin-docs/nomad/2.5.0.0/index.html\"\u003elink\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003edocker\u003c/td\u003e\n    \u003ctd\u003e3.6.1.3\u003c/td\u003e\n    \u003ctd\u003e \n \n```xml\n\u003cdependency\u003e\n     \u003cgroupId\u003eorg.virtuslab\u003c/groupId\u003e\n     \u003cartifactId\u003epulumi-docker-kotlin\u003c/artifactId\u003e\n     \u003cversion\u003e3.6.1.3\u003c/version\u003e\n\u003c/dependency\u003e\n```\n \n \u003c/td\u003e\n    \u003ctd\u003e \n \n```kt\nimplementation(\"org.virtuslab:pulumi-docker-kotlin:3.6.1.3\")\n```\n \n \u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://search.maven.org/artifact/org.virtuslab/pulumi-docker-kotlin\"\u003elink\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://www.pulumi.com/registry/packages/docker\"\u003elink\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://storage.googleapis.com/pulumi-kotlin-docs/docker/3.6.1.3/index.html\"\u003elink\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003edocker\u003c/td\u003e\n    \u003ctd\u003e4.6.2.0\u003c/td\u003e\n    \u003ctd\u003e \n \n```xml\n\u003cdependency\u003e\n     \u003cgroupId\u003eorg.virtuslab\u003c/groupId\u003e\n     \u003cartifactId\u003epulumi-docker-kotlin\u003c/artifactId\u003e\n     \u003cversion\u003e4.6.2.0\u003c/version\u003e\n\u003c/dependency\u003e\n```\n \n \u003c/td\u003e\n    \u003ctd\u003e \n \n```kt\nimplementation(\"org.virtuslab:pulumi-docker-kotlin:4.6.2.0\")\n```\n \n \u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://search.maven.org/artifact/org.virtuslab/pulumi-docker-kotlin\"\u003elink\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://www.pulumi.com/registry/packages/docker\"\u003elink\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://storage.googleapis.com/pulumi-kotlin-docs/docker/4.6.2.0/index.html\"\u003elink\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003egitlab\u003c/td\u003e\n    \u003ctd\u003e4.10.0.2\u003c/td\u003e\n    \u003ctd\u003e \n \n```xml\n\u003cdependency\u003e\n     \u003cgroupId\u003eorg.virtuslab\u003c/groupId\u003e\n     \u003cartifactId\u003epulumi-gitlab-kotlin\u003c/artifactId\u003e\n     \u003cversion\u003e4.10.0.2\u003c/version\u003e\n\u003c/dependency\u003e\n```\n \n \u003c/td\u003e\n    \u003ctd\u003e \n \n```kt\nimplementation(\"org.virtuslab:pulumi-gitlab-kotlin:4.10.0.2\")\n```\n \n \u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://search.maven.org/artifact/org.virtuslab/pulumi-gitlab-kotlin\"\u003elink\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://www.pulumi.com/registry/packages/gitlab\"\u003elink\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://storage.googleapis.com/pulumi-kotlin-docs/gitlab/4.10.0.2/index.html\"\u003elink\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003egitlab\u003c/td\u003e\n    \u003ctd\u003e5.0.2.2\u003c/td\u003e\n    \u003ctd\u003e \n \n```xml\n\u003cdependency\u003e\n     \u003cgroupId\u003eorg.virtuslab\u003c/groupId\u003e\n     \u003cartifactId\u003epulumi-gitlab-kotlin\u003c/artifactId\u003e\n     \u003cversion\u003e5.0.2.2\u003c/version\u003e\n\u003c/dependency\u003e\n```\n \n \u003c/td\u003e\n    \u003ctd\u003e \n \n```kt\nimplementation(\"org.virtuslab:pulumi-gitlab-kotlin:5.0.2.2\")\n```\n \n \u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://search.maven.org/artifact/org.virtuslab/pulumi-gitlab-kotlin\"\u003elink\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://www.pulumi.com/registry/packages/gitlab\"\u003elink\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://storage.googleapis.com/pulumi-kotlin-docs/gitlab/5.0.2.2/index.html\"\u003elink\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003egitlab\u003c/td\u003e\n    \u003ctd\u003e6.11.0.1\u003c/td\u003e\n    \u003ctd\u003e \n \n```xml\n\u003cdependency\u003e\n     \u003cgroupId\u003eorg.virtuslab\u003c/groupId\u003e\n     \u003cartifactId\u003epulumi-gitlab-kotlin\u003c/artifactId\u003e\n     \u003cversion\u003e6.11.0.1\u003c/version\u003e\n\u003c/dependency\u003e\n```\n \n \u003c/td\u003e\n    \u003ctd\u003e \n \n```kt\nimplementation(\"org.virtuslab:pulumi-gitlab-kotlin:6.11.0.1\")\n```\n \n \u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://search.maven.org/artifact/org.virtuslab/pulumi-gitlab-kotlin\"\u003elink\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://www.pulumi.com/registry/packages/gitlab\"\u003elink\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://storage.googleapis.com/pulumi-kotlin-docs/gitlab/6.11.0.1/index.html\"\u003elink\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003egitlab\u003c/td\u003e\n    \u003ctd\u003e7.0.2.0\u003c/td\u003e\n    \u003ctd\u003e \n \n```xml\n\u003cdependency\u003e\n     \u003cgroupId\u003eorg.virtuslab\u003c/groupId\u003e\n     \u003cartifactId\u003epulumi-gitlab-kotlin\u003c/artifactId\u003e\n     \u003cversion\u003e7.0.2.0\u003c/version\u003e\n\u003c/dependency\u003e\n```\n \n \u003c/td\u003e\n    \u003ctd\u003e \n \n```kt\nimplementation(\"org.virtuslab:pulumi-gitlab-kotlin:7.0.2.0\")\n```\n \n \u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://search.maven.org/artifact/org.virtuslab/pulumi-gitlab-kotlin\"\u003elink\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://www.pulumi.com/registry/packages/gitlab\"\u003elink\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://storage.googleapis.com/pulumi-kotlin-docs/gitlab/7.0.2.0/index.html\"\u003elink\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003egitlab\u003c/td\u003e\n    \u003ctd\u003e8.10.0.0\u003c/td\u003e\n    \u003ctd\u003e \n \n```xml\n\u003cdependency\u003e\n     \u003cgroupId\u003eorg.virtuslab\u003c/groupId\u003e\n     \u003cartifactId\u003epulumi-gitlab-kotlin\u003c/artifactId\u003e\n     \u003cversion\u003e8.10.0.0\u003c/version\u003e\n\u003c/dependency\u003e\n```\n \n \u003c/td\u003e\n    \u003ctd\u003e \n \n```kt\nimplementation(\"org.virtuslab:pulumi-gitlab-kotlin:8.10.0.0\")\n```\n \n \u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://search.maven.org/artifact/org.virtuslab/pulumi-gitlab-kotlin\"\u003elink\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://www.pulumi.com/registry/packages/gitlab\"\u003elink\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://storage.googleapis.com/pulumi-kotlin-docs/gitlab/8.10.0.0/index.html\"\u003elink\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003edigitalocean\u003c/td\u003e\n    \u003ctd\u003e4.42.0.0\u003c/td\u003e\n    \u003ctd\u003e \n \n```xml\n\u003cdependency\u003e\n     \u003cgroupId\u003eorg.virtuslab\u003c/groupId\u003e\n     \u003cartifactId\u003epulumi-digitalocean-kotlin\u003c/artifactId\u003e\n     \u003cversion\u003e4.42.0.0\u003c/version\u003e\n\u003c/dependency\u003e\n```\n \n \u003c/td\u003e\n    \u003ctd\u003e \n \n```kt\nimplementation(\"org.virtuslab:pulumi-digitalocean-kotlin:4.42.0.0\")\n```\n \n \u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://search.maven.org/artifact/org.virtuslab/pulumi-digitalocean-kotlin\"\u003elink\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://www.pulumi.com/registry/packages/digitalocean\"\u003elink\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://storage.googleapis.com/pulumi-kotlin-docs/digitalocean/4.42.0.0/index.html\"\u003elink\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003ealicloud\u003c/td\u003e\n    \u003ctd\u003e3.76.0.0\u003c/td\u003e\n    \u003ctd\u003e \n \n```xml\n\u003cdependency\u003e\n     \u003cgroupId\u003eorg.virtuslab\u003c/groupId\u003e\n     \u003cartifactId\u003epulumi-alicloud-kotlin\u003c/artifactId\u003e\n     \u003cversion\u003e3.76.0.0\u003c/version\u003e\n\u003c/dependency\u003e\n```\n \n \u003c/td\u003e\n    \u003ctd\u003e \n \n```kt\nimplementation(\"org.virtuslab:pulumi-alicloud-kotlin:3.76.0.0\")\n```\n \n \u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://search.maven.org/artifact/org.virtuslab/pulumi-alicloud-kotlin\"\u003elink\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://www.pulumi.com/registry/packages/alicloud\"\u003elink\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://storage.googleapis.com/pulumi-kotlin-docs/alicloud/3.76.0.0/index.html\"\u003elink\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003ekeycloak\u003c/td\u003e\n    \u003ctd\u003e5.4.0.0\u003c/td\u003e\n    \u003ctd\u003e \n \n```xml\n\u003cdependency\u003e\n     \u003cgroupId\u003eorg.virtuslab\u003c/groupId\u003e\n     \u003cartifactId\u003epulumi-keycloak-kotlin\u003c/artifactId\u003e\n     \u003cversion\u003e5.4.0.0\u003c/version\u003e\n\u003c/dependency\u003e\n```\n \n \u003c/td\u003e\n    \u003ctd\u003e \n \n```kt\nimplementation(\"org.virtuslab:pulumi-keycloak-kotlin:5.4.0.0\")\n```\n \n \u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://search.maven.org/artifact/org.virtuslab/pulumi-keycloak-kotlin\"\u003elink\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://www.pulumi.com/registry/packages/keycloak\"\u003elink\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://storage.googleapis.com/pulumi-kotlin-docs/keycloak/5.4.0.0/index.html\"\u003elink\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003ekeycloak\u003c/td\u003e\n    \u003ctd\u003e6.4.0.0\u003c/td\u003e\n    \u003ctd\u003e \n \n```xml\n\u003cdependency\u003e\n     \u003cgroupId\u003eorg.virtuslab\u003c/groupId\u003e\n     \u003cartifactId\u003epulumi-keycloak-kotlin\u003c/artifactId\u003e\n     \u003cversion\u003e6.4.0.0\u003c/version\u003e\n\u003c/dependency\u003e\n```\n \n \u003c/td\u003e\n    \u003ctd\u003e \n \n```kt\nimplementation(\"org.virtuslab:pulumi-keycloak-kotlin:6.4.0.0\")\n```\n \n \u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://search.maven.org/artifact/org.virtuslab/pulumi-keycloak-kotlin\"\u003elink\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://www.pulumi.com/registry/packages/keycloak\"\u003elink\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://storage.googleapis.com/pulumi-kotlin-docs/keycloak/6.4.0.0/index.html\"\u003elink\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003evault\u003c/td\u003e\n    \u003ctd\u003e6.6.0.0\u003c/td\u003e\n    \u003ctd\u003e \n \n```xml\n\u003cdependency\u003e\n     \u003cgroupId\u003eorg.virtuslab\u003c/groupId\u003e\n     \u003cartifactId\u003epulumi-vault-kotlin\u003c/artifactId\u003e\n     \u003cversion\u003e6.6.0.0\u003c/version\u003e\n\u003c/dependency\u003e\n```\n \n \u003c/td\u003e\n    \u003ctd\u003e \n \n```kt\nimplementation(\"org.virtuslab:pulumi-vault-kotlin:6.6.0.0\")\n```\n \n \u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://search.maven.org/artifact/org.virtuslab/pulumi-vault-kotlin\"\u003elink\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://www.pulumi.com/registry/packages/vault\"\u003elink\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://storage.googleapis.com/pulumi-kotlin-docs/vault/6.6.0.0/index.html\"\u003elink\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n## Giving feedback\n\nPulumi Kotlin SDK is a proof of concept, **we really need feedback before moving on**.\n\n- Create [an issue in this repo][issues-pulumi-kotlin] or express your opinion in the\n  existing [\"Support for idiomatic Kotlin\"][support-for-idiomatic-kotlin-issue] issue.\n- Start a thread on [#java channel][pulumi-slack-java-channel] (Pulumi community Slack).\n- Book a meeting [through Calendly][calendly-feedback-meeting] and let's talk!\n\n## Development docs\n\n- [Code generation and local run details](docs/code-generation.md)\n- [Development guidelines](docs/development-guidelines.md)\n\n\n[pulumi-kotlin-code-examples]: https://github.com/VirtuslabRnD/pulumi-kotlin/tree/main/examples\n[pulumi-kotlin-issue-197]: https://github.com/VirtuslabRnD/pulumi-kotlin/issues/197\n[pulumi-installation-guide]: https://www.pulumi.com/docs/reference/install/?utm_campaign=pulumi-pulumi-github-repo\u0026utm_source=github.com\u0026utm_medium=getting-started-install\n[google-native-kdoc]: https://storage.googleapis.com/pulumi-kotlin-docs/google-native/0.31.1.0/index.html\n[google-native-registry-docs]: https://www.pulumi.com/registry/packages/google-native\n[pulumi-registry]: https://www.pulumi.com/registry\n[issues-pulumi-kotlin]: https://github.com/VirtuslabRnD/pulumi-kotlin/issues\n[support-for-idiomatic-kotlin-issue]: https://github.com/pulumi/pulumi-java/issues/544\n[pulumi-slack-java-channel]: https://pulumi-community.slack.com/archives/C03DPAY96NB\n[calendly-feedback-meeting]: https://calendly.com/michalfudala/kotlin-sdk-for-pulumi-feedback\n\n\n\u003cp align=\"center\"\u003e\n   \u003ca href=\"https://virtuslab.com/open-source/\"\u003e\u003cimg width=\"40\" src=\"https://github.com/VirtuslabRnD/pulumi-kotlin/assets/4415632/01eaed9a-2acc-455c-a2e7-0c945406447c\" /\u003e\u003c/a\u003e\n\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvirtuslabrnd%2Fpulumi-kotlin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvirtuslabrnd%2Fpulumi-kotlin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvirtuslabrnd%2Fpulumi-kotlin/lists"}