From 136b88ccdce8a77ca5d6599d6af1d6ea7386c374 Mon Sep 17 00:00:00 2001 From: Brandon Kalinowski Date: Sat, 6 Dec 2025 03:12:26 -0500 Subject: [PATCH] make tfgen --- mise.toml | 2 +- .../bridge-metadata.json | 131 +- .../cmd/pulumi-resource-incus/schema.json | 2107 +++++++++++++++-- provider/go.mod | 7 +- provider/go.sum | 19 +- provider/resources.go | 14 +- 6 files changed, 2114 insertions(+), 166 deletions(-) diff --git a/mise.toml b/mise.toml index d035d09..9a4ce91 100644 --- a/mise.toml +++ b/mise.toml @@ -1,3 +1,3 @@ # Overwrites mise configuration at .config/mise.toml [tools] -pulumictl = "v0.0.48" \ No newline at end of file +"github:pulumi/pulumictl" = "0.0.48" diff --git a/provider/cmd/pulumi-resource-incus/bridge-metadata.json b/provider/cmd/pulumi-resource-incus/bridge-metadata.json index abf7569..14ed303 100644 --- a/provider/cmd/pulumi-resource-incus/bridge-metadata.json +++ b/provider/cmd/pulumi-resource-incus/bridge-metadata.json @@ -14,15 +14,15 @@ "current": "incus:index/clusterGroup:ClusterGroup", "majorVersion": 1 }, - "incus_cluster_group_assignment": { - "current": "incus:index/clusterGroupAssignment:ClusterGroupAssignment", + "incus_cluster_group_member": { + "current": "incus:index/clusterGroupMember:ClusterGroupMember", "majorVersion": 1 }, "incus_image": { "current": "incus:index/image:Image", "majorVersion": 1, "fields": { - "aliases": { + "alias": { "maxItemsOne": false }, "copied_aliases": { @@ -68,6 +68,15 @@ } } }, + "incus_network_address_set": { + "current": "incus:index/networkAddressSet:NetworkAddressSet", + "majorVersion": 1, + "fields": { + "addresses": { + "maxItemsOne": false + } + } + }, "incus_network_forward": { "current": "incus:index/networkForward:NetworkForward", "majorVersion": 1, @@ -130,6 +139,10 @@ "current": "incus:index/project:Project", "majorVersion": 1 }, + "incus_server": { + "current": "incus:index/server:Server", + "majorVersion": 1 + }, "incus_storage_bucket": { "current": "incus:index/storageBucket:StorageBucket", "majorVersion": 1 @@ -148,6 +161,24 @@ } }, "datasources": { + "incus_cluster": { + "current": "incus:index/getCluster:getCluster", + "majorVersion": 1, + "fields": { + "members": { + "elem": { + "fields": { + "groups": { + "maxItemsOne": false + }, + "roles": { + "maxItemsOne": false + } + } + } + } + } + }, "incus_image": { "current": "incus:index/getImage:getImage", "majorVersion": 1, @@ -157,6 +188,88 @@ } } }, + "incus_instance": { + "current": "incus:index/getInstance:getInstance", + "majorVersion": 1, + "fields": { + "device": { + "maxItemsOne": false + }, + "profiles": { + "maxItemsOne": false + } + } + }, + "incus_network": { + "current": "incus:index/getNetwork:getNetwork", + "majorVersion": 1, + "fields": { + "locations": { + "maxItemsOne": false + } + } + }, + "incus_network_acl": { + "current": "incus:index/getNetworkAcl:getNetworkAcl", + "majorVersion": 1, + "fields": { + "egress": { + "maxItemsOne": false + }, + "ingress": { + "maxItemsOne": false + } + } + }, + "incus_network_address_set": { + "current": "incus:index/getNetworkAddressSet:getNetworkAddressSet", + "majorVersion": 1, + "fields": { + "addresses": { + "maxItemsOne": false + } + } + }, + "incus_network_forward": { + "current": "incus:index/getNetworkForward:getNetworkForward", + "majorVersion": 1, + "fields": { + "ports": { + "maxItemsOne": false + } + } + }, + "incus_network_integration": { + "current": "incus:index/getNetworkIntegration:getNetworkIntegration", + "majorVersion": 1 + }, + "incus_network_load_balancer": { + "current": "incus:index/getNetworkLoadBalancer:getNetworkLoadBalancer", + "majorVersion": 1, + "fields": { + "backends": { + "maxItemsOne": false + }, + "ports": { + "maxItemsOne": false, + "elem": { + "fields": { + "target_backend": { + "maxItemsOne": false + } + } + } + } + } + }, + "incus_network_peer": { + "current": "incus:index/getNetworkPeer:getNetworkPeer", + "majorVersion": 1 + }, + "incus_network_zone": { + "current": "incus:index/getNetworkZone:getNetworkZone", + "majorVersion": 1 + }, "incus_profile": { "current": "incus:index/getProfile:getProfile", "majorVersion": 1, @@ -169,6 +282,18 @@ "incus_project": { "current": "incus:index/getProject:getProject", "majorVersion": 1 + }, + "incus_storage_bucket": { + "current": "incus:index/getStorageBucket:getStorageBucket", + "majorVersion": 1 + }, + "incus_storage_pool": { + "current": "incus:index/getStoragePool:getStoragePool", + "majorVersion": 1 + }, + "incus_storage_volume": { + "current": "incus:index/getStorageVolume:getStorageVolume", + "majorVersion": 1 } } }, diff --git a/provider/cmd/pulumi-resource-incus/schema.json b/provider/cmd/pulumi-resource-incus/schema.json index 5cde680..8485e8b 100644 --- a/provider/cmd/pulumi-resource-incus/schema.json +++ b/provider/cmd/pulumi-resource-incus/schema.json @@ -54,26 +54,30 @@ "variables": { "acceptRemoteCertificate": { "type": "boolean", - "description": "Accept the server certificate.\n" + "description": "Accept the server certificate." }, "configDir": { "type": "string", - "description": "The directory to look for existing Incus configuration. (default = $HOME/.config/incus)\n" + "description": "The directory to look for existing Incus configuration. (default = $HOME/.config/incus)" + }, + "defaultRemote": { + "type": "string", + "description": "The default remote to use when no other remote is defined in a resource." }, "generateClientCertificates": { "type": "boolean", - "description": "Automatically generate the Incus client certificates if they don't exist.\n" + "description": "Automatically generate the Incus client certificates if they don't exist." }, "project": { "type": "string", - "description": "The project where project-scoped resources will be created. Can be overridden in individual resources. (default =\ndefault)\n" + "description": "The project where project-scoped resources will be created. Can be overridden in individual resources. (default = default)" }, "remotes": { "type": "array", "items": { "$ref": "#/types/incus:config/remotes:remotes" }, - "description": "Incus Remote\n" + "description": "Incus Remote" } } }, @@ -82,27 +86,27 @@ "properties": { "address": { "type": "string", - "description": "The FQDN or IP where the Incus daemon can be contacted. (default = \"\" (read from lxc config))\n" + "description": "The URL of the Incus host. The default will be the path to the local unix socket, or leaving it as an empty string will use the default socket path.\n" }, - "default": { - "type": "boolean", - "description": "Set this remote as default.\n" + "authenticationType": { + "type": "string", + "description": "Server authentication type, tls or oidc. ( Only for the \u003cspan pulumi-lang-nodejs=\"`incus`\" pulumi-lang-dotnet=\"`Incus`\" pulumi-lang-go=\"`incus`\" pulumi-lang-python=\"`incus`\" pulumi-lang-yaml=\"`incus`\" pulumi-lang-java=\"`incus`\"\u003e`incus`\u003c/span\u003e protocol )\n" }, "name": { "type": "string", - "description": "Name of the Incus remote. Required when incus_scheme set to https, to enable locating server certificate.\n" + "description": "Name of the Incus remote.\n" }, - "port": { + "protocol": { "type": "string", - "description": "Port Incus Daemon API is listening on. (default = 8443)\n" + "description": "Server protocol ( incus, oci or simplestreams )\n" }, - "scheme": { - "type": "string", - "description": "Unix (unix) or HTTPs (https). (default = unix)\n" + "public": { + "type": "boolean", + "description": "Public image server\n" }, "token": { "type": "string", - "description": "The trust token for the remote.\n", + "description": "The trust token used for initial authentication with the Incus remote.\n", "secret": true } }, @@ -116,11 +120,35 @@ } } }, + "incus:index/ImageAlias:ImageAlias": { + "properties": { + "description": { + "type": "string", + "description": "*Optional* - A description for the alias.\n" + }, + "name": { + "type": "string", + "description": "**Required** - The name of the alias.\n" + } + }, + "type": "object", + "required": [ + "name" + ], + "language": { + "nodejs": { + "requiredOutputs": [ + "description", + "name" + ] + } + } + }, "incus:index/ImageSourceFile:ImageSourceFile": { "properties": { "dataPath": { "type": "string", - "description": "**Required** - Either the path of an [unified image](https://linuxcontainers.org/incus/docs/main/reference/image_format/#image-format-unified)\nor the rootfs tarball of a [split image](https://linuxcontainers.org/incus/docs/main/reference/image_format/#image-format-split), depending on\n`metadata_path` being provided or not.\n" + "description": "**Required** - Either the path of an [unified image](https://linuxcontainers.org/incus/docs/main/reference/image_format/#image-format-unified)\nor the rootfs tarball of a [split image](https://linuxcontainers.org/incus/docs/main/reference/image_format/#image-format-split), depending on\n\u003cspan pulumi-lang-nodejs=\"`metadataPath`\" pulumi-lang-dotnet=\"`MetadataPath`\" pulumi-lang-go=\"`metadataPath`\" pulumi-lang-python=\"`metadata_path`\" pulumi-lang-yaml=\"`metadataPath`\" pulumi-lang-java=\"`metadataPath`\"\u003e`metadata_path`\u003c/span\u003e being provided or not.\n" }, "metadataPath": { "type": "string", @@ -140,7 +168,7 @@ }, "copyAliases": { "type": "boolean", - "description": "*Optional* - Whether to copy the aliases of the image from\nthe remote. Valid values are `true` and `false`.\n" + "description": "*Optional* - Whether to copy the aliases of the image from\nthe remote. Valid values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n" }, "name": { "type": "string", @@ -152,7 +180,7 @@ }, "type": { "type": "string", - "description": "*Optional* - Type of image to cache. Must be one of `container` or\n`virtual-machine`. Defaults to `container`.\n" + "description": "*Optional* - Type of image to cache. Must be one of \u003cspan pulumi-lang-nodejs=\"`container`\" pulumi-lang-dotnet=\"`Container`\" pulumi-lang-go=\"`container`\" pulumi-lang-python=\"`container`\" pulumi-lang-yaml=\"`container`\" pulumi-lang-java=\"`container`\"\u003e`container`\u003c/span\u003e or\n`virtual-machine`. Defaults to \u003cspan pulumi-lang-nodejs=\"`container`\" pulumi-lang-dotnet=\"`Container`\" pulumi-lang-go=\"`container`\" pulumi-lang-python=\"`container`\" pulumi-lang-yaml=\"`container`\" pulumi-lang-java=\"`container`\"\u003e`container`\u003c/span\u003e.\n" } }, "type": "object", @@ -219,7 +247,7 @@ }, "content": { "type": "string", - "description": "**Required** unless source_path is used* - The *contents* of the file.\nUse the `file()` function to read in the content of a file from disk.\n" + "description": "**Required** unless\u003cspan pulumi-lang-nodejs=\" sourcePath \" pulumi-lang-dotnet=\" SourcePath \" pulumi-lang-go=\" sourcePath \" pulumi-lang-python=\" source_path \" pulumi-lang-yaml=\" sourcePath \" pulumi-lang-java=\" sourcePath \"\u003e source_path \u003c/span\u003eis used* - The *contents* of the file.\nUse the `file()` function to read in the content of a file from disk.\n" }, "createDirectories": { "type": "boolean", @@ -231,7 +259,7 @@ }, "mode": { "type": "string", - "description": "*Optional* - The octal permissions of the file, must be quoted. Defaults to `0755`.\n" + "description": "*Optional* - The octal permissions of the file, must be quoted. Defaults to \u003cspan pulumi-lang-nodejs=\"`0755`\" pulumi-lang-dotnet=\"`0755`\" pulumi-lang-go=\"`0755`\" pulumi-lang-python=\"`0755`\" pulumi-lang-yaml=\"`0755`\" pulumi-lang-java=\"`0755`\"\u003e`0755`\u003c/span\u003e.\n" }, "sourcePath": { "type": "string", @@ -285,15 +313,15 @@ "properties": { "delay": { "type": "string", - "description": "*Optional* - Delay time that should be waited for when type is `delay`, e.g. `30s`.\n" + "description": "*Optional* - Delay time that should be waited for when type is \u003cspan pulumi-lang-nodejs=\"`delay`\" pulumi-lang-dotnet=\"`Delay`\" pulumi-lang-go=\"`delay`\" pulumi-lang-python=\"`delay`\" pulumi-lang-yaml=\"`delay`\" pulumi-lang-java=\"`delay`\"\u003e`delay`\u003c/span\u003e, e.g. \u003cspan pulumi-lang-nodejs=\"`30s`\" pulumi-lang-dotnet=\"`30s`\" pulumi-lang-go=\"`30s`\" pulumi-lang-python=\"`30s`\" pulumi-lang-yaml=\"`30s`\" pulumi-lang-java=\"`30s`\"\u003e`30s`\u003c/span\u003e.\n" }, "nic": { "type": "string", - "description": "*Optional* - Network interface that should be waited for when type is `ipv4` or `ipv6`.\n" + "description": "*Optional* - Network interface that should be waited for when type is \u003cspan pulumi-lang-nodejs=\"`ipv4`\" pulumi-lang-dotnet=\"`Ipv4`\" pulumi-lang-go=\"`ipv4`\" pulumi-lang-python=\"`ipv4`\" pulumi-lang-yaml=\"`ipv4`\" pulumi-lang-java=\"`ipv4`\"\u003e`ipv4`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`ipv6`\" pulumi-lang-dotnet=\"`Ipv6`\" pulumi-lang-go=\"`ipv6`\" pulumi-lang-python=\"`ipv6`\" pulumi-lang-yaml=\"`ipv6`\" pulumi-lang-java=\"`ipv6`\"\u003e`ipv6`\u003c/span\u003e.\n" }, "type": { "type": "string", - "description": "**Required** - Type for what should be waited for. Can be `agent`, `delay`, `ipv4`, `ipv6` or `ready`.\n" + "description": "**Required** - Type for what should be waited for. Can be \u003cspan pulumi-lang-nodejs=\"`agent`\" pulumi-lang-dotnet=\"`Agent`\" pulumi-lang-go=\"`agent`\" pulumi-lang-python=\"`agent`\" pulumi-lang-yaml=\"`agent`\" pulumi-lang-java=\"`agent`\"\u003e`agent`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`delay`\" pulumi-lang-dotnet=\"`Delay`\" pulumi-lang-go=\"`delay`\" pulumi-lang-python=\"`delay`\" pulumi-lang-yaml=\"`delay`\" pulumi-lang-java=\"`delay`\"\u003e`delay`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ipv4`\" pulumi-lang-dotnet=\"`Ipv4`\" pulumi-lang-go=\"`ipv4`\" pulumi-lang-python=\"`ipv4`\" pulumi-lang-yaml=\"`ipv4`\" pulumi-lang-java=\"`ipv4`\"\u003e`ipv4`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ipv6`\" pulumi-lang-dotnet=\"`Ipv6`\" pulumi-lang-go=\"`ipv6`\" pulumi-lang-python=\"`ipv6`\" pulumi-lang-yaml=\"`ipv6`\" pulumi-lang-java=\"`ipv6`\"\u003e`ipv6`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`ready`\" pulumi-lang-dotnet=\"`Ready`\" pulumi-lang-go=\"`ready`\" pulumi-lang-python=\"`ready`\" pulumi-lang-yaml=\"`ready`\" pulumi-lang-java=\"`ready`\"\u003e`ready`\u003c/span\u003e.\n" } }, "type": "object", @@ -317,19 +345,19 @@ }, "destinationPort": { "type": "string", - "description": "*Optional* - If protocol is `udp` or tcp, then a comma-separated list of ports or port ranges (start-end inclusive), or empty for any\n" + "description": "*Optional* - If protocol is \u003cspan pulumi-lang-nodejs=\"`udp`\" pulumi-lang-dotnet=\"`Udp`\" pulumi-lang-go=\"`udp`\" pulumi-lang-python=\"`udp`\" pulumi-lang-yaml=\"`udp`\" pulumi-lang-java=\"`udp`\"\u003e`udp`\u003c/span\u003e or tcp, then a comma-separated list of ports or port ranges (start-end inclusive), or empty for any\n" }, "icmpCode": { "type": "string", - "description": "*Optional* - If protocol is `icmp4` or `icmp6`, then ICMP code number, or empty for any\n" + "description": "*Optional* - If protocol is \u003cspan pulumi-lang-nodejs=\"`icmp4`\" pulumi-lang-dotnet=\"`Icmp4`\" pulumi-lang-go=\"`icmp4`\" pulumi-lang-python=\"`icmp4`\" pulumi-lang-yaml=\"`icmp4`\" pulumi-lang-java=\"`icmp4`\"\u003e`icmp4`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`icmp6`\" pulumi-lang-dotnet=\"`Icmp6`\" pulumi-lang-go=\"`icmp6`\" pulumi-lang-python=\"`icmp6`\" pulumi-lang-yaml=\"`icmp6`\" pulumi-lang-java=\"`icmp6`\"\u003e`icmp6`\u003c/span\u003e, then ICMP code number, or empty for any\n" }, "icmpType": { "type": "string", - "description": "*Optional* - If protocol is `icmp4` or `icmp6`, then ICMP type number, or empty for any\n" + "description": "*Optional* - If protocol is \u003cspan pulumi-lang-nodejs=\"`icmp4`\" pulumi-lang-dotnet=\"`Icmp4`\" pulumi-lang-go=\"`icmp4`\" pulumi-lang-python=\"`icmp4`\" pulumi-lang-yaml=\"`icmp4`\" pulumi-lang-java=\"`icmp4`\"\u003e`icmp4`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`icmp6`\" pulumi-lang-dotnet=\"`Icmp6`\" pulumi-lang-go=\"`icmp6`\" pulumi-lang-python=\"`icmp6`\" pulumi-lang-yaml=\"`icmp6`\" pulumi-lang-java=\"`icmp6`\"\u003e`icmp6`\u003c/span\u003e, then ICMP type number, or empty for any\n" }, "protocol": { "type": "string", - "description": "*Optional* - If protocol is `udp` or `tcp`, then a comma-separated list of ports or port ranges (start-end inclusive), or empty for any\n" + "description": "*Optional* - If protocol is \u003cspan pulumi-lang-nodejs=\"`udp`\" pulumi-lang-dotnet=\"`Udp`\" pulumi-lang-go=\"`udp`\" pulumi-lang-python=\"`udp`\" pulumi-lang-yaml=\"`udp`\" pulumi-lang-java=\"`udp`\"\u003e`udp`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\"\u003e`tcp`\u003c/span\u003e, then a comma-separated list of ports or port ranges (start-end inclusive), or empty for any\n" }, "source": { "type": "string", @@ -377,19 +405,19 @@ }, "destinationPort": { "type": "string", - "description": "*Optional* - If protocol is `udp` or tcp, then a comma-separated list of ports or port ranges (start-end inclusive), or empty for any\n" + "description": "*Optional* - If protocol is \u003cspan pulumi-lang-nodejs=\"`udp`\" pulumi-lang-dotnet=\"`Udp`\" pulumi-lang-go=\"`udp`\" pulumi-lang-python=\"`udp`\" pulumi-lang-yaml=\"`udp`\" pulumi-lang-java=\"`udp`\"\u003e`udp`\u003c/span\u003e or tcp, then a comma-separated list of ports or port ranges (start-end inclusive), or empty for any\n" }, "icmpCode": { "type": "string", - "description": "*Optional* - If protocol is `icmp4` or `icmp6`, then ICMP code number, or empty for any\n" + "description": "*Optional* - If protocol is \u003cspan pulumi-lang-nodejs=\"`icmp4`\" pulumi-lang-dotnet=\"`Icmp4`\" pulumi-lang-go=\"`icmp4`\" pulumi-lang-python=\"`icmp4`\" pulumi-lang-yaml=\"`icmp4`\" pulumi-lang-java=\"`icmp4`\"\u003e`icmp4`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`icmp6`\" pulumi-lang-dotnet=\"`Icmp6`\" pulumi-lang-go=\"`icmp6`\" pulumi-lang-python=\"`icmp6`\" pulumi-lang-yaml=\"`icmp6`\" pulumi-lang-java=\"`icmp6`\"\u003e`icmp6`\u003c/span\u003e, then ICMP code number, or empty for any\n" }, "icmpType": { "type": "string", - "description": "*Optional* - If protocol is `icmp4` or `icmp6`, then ICMP type number, or empty for any\n" + "description": "*Optional* - If protocol is \u003cspan pulumi-lang-nodejs=\"`icmp4`\" pulumi-lang-dotnet=\"`Icmp4`\" pulumi-lang-go=\"`icmp4`\" pulumi-lang-python=\"`icmp4`\" pulumi-lang-yaml=\"`icmp4`\" pulumi-lang-java=\"`icmp4`\"\u003e`icmp4`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`icmp6`\" pulumi-lang-dotnet=\"`Icmp6`\" pulumi-lang-go=\"`icmp6`\" pulumi-lang-python=\"`icmp6`\" pulumi-lang-yaml=\"`icmp6`\" pulumi-lang-java=\"`icmp6`\"\u003e`icmp6`\u003c/span\u003e, then ICMP type number, or empty for any\n" }, "protocol": { "type": "string", - "description": "*Optional* - If protocol is `udp` or `tcp`, then a comma-separated list of ports or port ranges (start-end inclusive), or empty for any\n" + "description": "*Optional* - If protocol is \u003cspan pulumi-lang-nodejs=\"`udp`\" pulumi-lang-dotnet=\"`Udp`\" pulumi-lang-go=\"`udp`\" pulumi-lang-python=\"`udp`\" pulumi-lang-yaml=\"`udp`\" pulumi-lang-java=\"`udp`\"\u003e`udp`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\"\u003e`tcp`\u003c/span\u003e, then a comma-separated list of ports or port ranges (start-end inclusive), or empty for any\n" }, "source": { "type": "string", @@ -433,7 +461,7 @@ }, "protocol": { "type": "string", - "description": "**Required** - Protocol for the port(s) (`tcp` or `udp`). If not set then `tcp` will be used.\n" + "description": "**Required** - Protocol for the port(s) (\u003cspan pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\"\u003e`tcp`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`udp`\" pulumi-lang-dotnet=\"`Udp`\" pulumi-lang-go=\"`udp`\" pulumi-lang-python=\"`udp`\" pulumi-lang-yaml=\"`udp`\" pulumi-lang-java=\"`udp`\"\u003e`udp`\u003c/span\u003e). If not set then \u003cspan pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\"\u003e`tcp`\u003c/span\u003e will be used.\n" }, "targetAddress": { "type": "string", @@ -441,7 +469,7 @@ }, "targetPort": { "type": "string", - "description": "*Optional* - T arget port(s) (e.g. `70,80-90` or `90`), same as listen_port if empty\n" + "description": "*Optional* - T arget port(s) (e.g. `70,80-90` or \u003cspan pulumi-lang-nodejs=\"`90`\" pulumi-lang-dotnet=\"`90`\" pulumi-lang-go=\"`90`\" pulumi-lang-python=\"`90`\" pulumi-lang-yaml=\"`90`\" pulumi-lang-java=\"`90`\"\u003e`90`\u003c/span\u003e), same as\u003cspan pulumi-lang-nodejs=\" listenPort \" pulumi-lang-dotnet=\" ListenPort \" pulumi-lang-go=\" listenPort \" pulumi-lang-python=\" listen_port \" pulumi-lang-yaml=\" listenPort \" pulumi-lang-java=\" listenPort \"\u003e listen_port \u003c/span\u003eif empty\n" } }, "type": "object", @@ -490,8 +518,7 @@ "requiredOutputs": [ "description", "name", - "targetAddress", - "targetPort" + "targetAddress" ] } } @@ -593,27 +620,27 @@ "properties": { "address": { "type": "string", - "description": "The FQDN or IP where the Incus daemon can be contacted. (default = \"\" (read from lxc config))\n" + "description": "The URL of the Incus host. The default will be the path to the local unix socket, or leaving it as an empty string will use the default socket path.\n" }, - "default": { - "type": "boolean", - "description": "Set this remote as default.\n" + "authenticationType": { + "type": "string", + "description": "Server authentication type, tls or oidc. ( Only for the \u003cspan pulumi-lang-nodejs=\"`incus`\" pulumi-lang-dotnet=\"`Incus`\" pulumi-lang-go=\"`incus`\" pulumi-lang-python=\"`incus`\" pulumi-lang-yaml=\"`incus`\" pulumi-lang-java=\"`incus`\"\u003e`incus`\u003c/span\u003e protocol )\n" }, "name": { "type": "string", - "description": "Name of the Incus remote. Required when incus_scheme set to https, to enable locating server certificate.\n" + "description": "Name of the Incus remote.\n" }, - "port": { + "protocol": { "type": "string", - "description": "Port Incus Daemon API is listening on. (default = 8443)\n" + "description": "Server protocol ( incus, oci or simplestreams )\n" }, - "scheme": { - "type": "string", - "description": "Unix (unix) or HTTPs (https). (default = unix)\n" + "public": { + "type": "boolean", + "description": "Public image server\n" }, "token": { "type": "string", - "description": "The trust token for the remote.\n", + "description": "The trust token used for initial authentication with the Incus remote.\n", "secret": true } }, @@ -648,6 +675,297 @@ "pool" ] }, + "incus:index/getClusterMembers:getClusterMembers": { + "properties": { + "address": { + "type": "string", + "description": "Address of the cluster member, that is used for cluster communication.\n" + }, + "architecture": { + "type": "string", + "description": "Architecture of the cluster member (e.g. x86_64, aarch64).\nSee [Architectures](https://linuxcontainers.org/incus/docs/main/architectures/)\nfor all possible values.\n" + }, + "description": { + "type": "string", + "description": "Description of the cluster member.\n" + }, + "failureDomain": { + "type": "string", + "description": "Failure domain of the cluster member.\n" + }, + "groups": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of groups the cluster member belongs to.\n" + }, + "roles": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of roles assigned to the cluster member.\n" + }, + "status": { + "type": "string", + "description": "Status of the cluster member. Possible values are\n`Online`, `Evacuated`, `Offline`, `Blocked`.\n" + } + }, + "type": "object", + "required": [ + "address", + "architecture", + "description", + "failureDomain", + "groups", + "roles", + "status" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "incus:index/getInstanceDevice:getInstanceDevice": { + "properties": { + "name": { + "type": "string", + "description": "**Required** - Name of the instance.\n" + }, + "properties": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Map of key/value pairs of\n[device properties](https://linuxcontainers.org/incus/docs/main/reference/devices/).\n" + }, + "type": { + "type": "string", + "description": "Type of the device Must be one of none, disk, nic,\nunix-char, unix-block, usb, gpu, infiniband, proxy, unix-hotplug, tpm, pci.\n" + } + }, + "type": "object", + "required": [ + "name", + "properties", + "type" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "incus:index/getNetworkAclEgress:getNetworkAclEgress": { + "properties": { + "action": { + "type": "string", + "description": "Action to perform on rule match.\n" + }, + "description": { + "type": "string", + "description": "Description of the rule.\n" + }, + "destination": { + "type": "string", + "description": "Destination address.\n" + }, + "destinationPort": { + "type": "string", + "description": "Destination port.\n" + }, + "icmpCode": { + "type": "string", + "description": "ICMP message code (for ICMP protocol).\n" + }, + "icmpType": { + "type": "string", + "description": "Type of ICMP message.\n" + }, + "protocol": { + "type": "string", + "description": "Protocol (e.g., tcp, udp).\n" + }, + "source": { + "type": "string", + "description": "Source address.\n" + }, + "sourcePort": { + "type": "string", + "description": "Source port.\n" + }, + "state": { + "type": "string", + "description": "State of the rule.\n" + } + }, + "type": "object", + "required": [ + "action", + "description", + "destination", + "destinationPort", + "icmpCode", + "icmpType", + "protocol", + "source", + "sourcePort", + "state" + ] + }, + "incus:index/getNetworkAclIngress:getNetworkAclIngress": { + "properties": { + "action": { + "type": "string", + "description": "Action to perform on rule match.\n" + }, + "description": { + "type": "string", + "description": "Description of the rule.\n" + }, + "destination": { + "type": "string", + "description": "Destination address.\n" + }, + "destinationPort": { + "type": "string", + "description": "Destination port.\n" + }, + "icmpCode": { + "type": "string", + "description": "ICMP message code (for ICMP protocol).\n" + }, + "icmpType": { + "type": "string", + "description": "Type of ICMP message.\n" + }, + "protocol": { + "type": "string", + "description": "Protocol (e.g., tcp, udp).\n" + }, + "source": { + "type": "string", + "description": "Source address.\n" + }, + "sourcePort": { + "type": "string", + "description": "Source port.\n" + }, + "state": { + "type": "string", + "description": "State of the rule.\n" + } + }, + "type": "object", + "required": [ + "action", + "description", + "destination", + "destinationPort", + "icmpCode", + "icmpType", + "protocol", + "source", + "sourcePort", + "state" + ] + }, + "incus:index/getNetworkForwardPort:getNetworkForwardPort": { + "properties": { + "description": { + "type": "string", + "description": "Description of the forward port.\n" + }, + "listenPort": { + "type": "string", + "description": "ListenPort(s) to forward (comma delimited ranges).\n" + }, + "protocol": { + "type": "string", + "description": "Protocol for port forward (either tcp or udp).\n" + }, + "snat": { + "type": "boolean", + "description": "SNAT controls whether to apply a matching SNAT rule to new outgoing traffic from the target.\n" + }, + "targetAddress": { + "type": "string", + "description": "Target address to forward ListenPorts to.\n" + }, + "targetPort": { + "type": "string", + "description": "Target port(s) to forward ListenPorts to (allows for many-to-one).\n" + } + }, + "type": "object", + "required": [ + "description", + "listenPort", + "protocol", + "snat", + "targetAddress", + "targetPort" + ] + }, + "incus:index/getNetworkLoadBalancerBackend:getNetworkLoadBalancerBackend": { + "properties": { + "description": { + "type": "string", + "description": "Description of the load balancer port.\n" + }, + "name": { + "type": "string", + "description": "Name of the load balancer backend.\n" + }, + "targetAddress": { + "type": "string", + "description": "TargetAddress to forward ListenPorts to.\n" + }, + "targetPort": { + "type": "string", + "description": "TargetPort(s) for the forward ListenPorts to (allows for many-to one).\n" + } + }, + "type": "object", + "required": [ + "description", + "name", + "targetAddress", + "targetPort" + ] + }, + "incus:index/getNetworkLoadBalancerPort:getNetworkLoadBalancerPort": { + "properties": { + "description": { + "type": "string", + "description": "Description of the load balancer port.\n" + }, + "listenPort": { + "type": "string", + "description": "ListenPort(s) for the load balancer (comma delimited ranges).\n" + }, + "protocol": { + "type": "string", + "description": "Protocol for load balancer (either tcp or udp).\n" + }, + "targetBackends": { + "type": "array", + "items": { + "type": "string" + }, + "description": "TargetBackend backend names to load balance ListenPorts to.\n" + } + }, + "type": "object", + "required": [ + "description", + "listenPort", + "protocol", + "targetBackends" + ] + }, "incus:index/getProfileDevice:getProfileDevice": { "properties": { "name": { @@ -684,57 +1002,68 @@ "properties": { "acceptRemoteCertificate": { "type": "boolean", - "description": "Accept the server certificate.\n" + "description": "Accept the server certificate." }, "configDir": { "type": "string", - "description": "The directory to look for existing Incus configuration. (default = $HOME/.config/incus)\n" + "description": "The directory to look for existing Incus configuration. (default = $HOME/.config/incus)" + }, + "defaultRemote": { + "type": "string", + "description": "The default remote to use when no other remote is defined in a resource." }, "generateClientCertificates": { "type": "boolean", - "description": "Automatically generate the Incus client certificates if they don't exist.\n" + "description": "Automatically generate the Incus client certificates if they don't exist." }, "project": { "type": "string", - "description": "The project where project-scoped resources will be created. Can be overridden in individual resources. (default =\ndefault)\n" + "description": "The project where project-scoped resources will be created. Can be overridden in individual resources. (default = default)" }, "remotes": { "type": "array", "items": { "$ref": "#/types/incus:index/ProviderRemote:ProviderRemote" }, - "description": "Incus Remote\n" + "description": "Incus Remote" } }, "inputProperties": { "acceptRemoteCertificate": { "type": "boolean", - "description": "Accept the server certificate.\n" + "description": "Accept the server certificate." }, "configDir": { "type": "string", - "description": "The directory to look for existing Incus configuration. (default = $HOME/.config/incus)\n" + "description": "The directory to look for existing Incus configuration. (default = $HOME/.config/incus)" + }, + "defaultRemote": { + "type": "string", + "description": "The default remote to use when no other remote is defined in a resource." }, "generateClientCertificates": { "type": "boolean", - "description": "Automatically generate the Incus client certificates if they don't exist.\n" + "description": "Automatically generate the Incus client certificates if they don't exist." }, "project": { "type": "string", - "description": "The project where project-scoped resources will be created. Can be overridden in individual resources. (default =\ndefault)\n" + "description": "The project where project-scoped resources will be created. Can be overridden in individual resources. (default = default)" }, "remotes": { "type": "array", "items": { "$ref": "#/types/incus:index/ProviderRemote:ProviderRemote" }, - "description": "Incus Remote\n" + "description": "Incus Remote" } + }, + "methods": { + "terraformConfig": "pulumi:providers:incus/terraformConfig" } }, "resources": { "incus:index/certificate:Certificate": { - "description": "## # incus.Certificate\n\nManages an Incus certificate.\n\n", + "description": "## #\u003cspan pulumi-lang-nodejs=\" incus.Certificate\n\" pulumi-lang-dotnet=\" incus.Certificate\n\" pulumi-lang-go=\" Certificate\n\" pulumi-lang-python=\" Certificate\n\" pulumi-lang-yaml=\" incus.Certificate\n\" pulumi-lang-java=\" incus.Certificate\n\"\u003e incus.Certificate\n\u003c/span\u003e\nManages an Incus certificate.\n\n", "properties": { "certificate": { "type": "string", @@ -815,7 +1144,8 @@ } }, "requiredInputs": [ - "certificate" + "certificate", + "name" ], "stateInputs": { "description": "Input properties used for looking up and filtering Certificate resources.\n", @@ -869,7 +1199,8 @@ "description": "*Optional* - Map of key/value pairs of\n[cluster group config settings](https://linuxcontainers.org/incus/docs/main/howto/cluster_groups/#configuration-options).\n" }, "description": { - "type": "string" + "type": "string", + "description": "*Optional* - Description of the cluster group.\n" }, "name": { "type": "string", @@ -894,7 +1225,8 @@ "description": "*Optional* - Map of key/value pairs of\n[cluster group config settings](https://linuxcontainers.org/incus/docs/main/howto/cluster_groups/#configuration-options).\n" }, "description": { - "type": "string" + "type": "string", + "description": "*Optional* - Description of the cluster group.\n" }, "name": { "type": "string", @@ -905,6 +1237,9 @@ "description": "*Optional* - The remote in which the resource will be created. If\nnot provided, the provider's default remote will be used.\n" } }, + "requiredInputs": [ + "name" + ], "stateInputs": { "description": "Input properties used for looking up and filtering ClusterGroup resources.\n", "properties": { @@ -916,7 +1251,8 @@ "description": "*Optional* - Map of key/value pairs of\n[cluster group config settings](https://linuxcontainers.org/incus/docs/main/howto/cluster_groups/#configuration-options).\n" }, "description": { - "type": "string" + "type": "string", + "description": "*Optional* - Description of the cluster group.\n" }, "name": { "type": "string", @@ -930,7 +1266,7 @@ "type": "object" } }, - "incus:index/clusterGroupAssignment:ClusterGroupAssignment": { + "incus:index/clusterGroupMember:ClusterGroupMember": { "properties": { "clusterGroup": { "type": "string", @@ -968,7 +1304,7 @@ "member" ], "stateInputs": { - "description": "Input properties used for looking up and filtering ClusterGroupAssignment resources.\n", + "description": "Input properties used for looking up and filtering ClusterGroupMember resources.\n", "properties": { "clusterGroup": { "type": "string", @@ -987,21 +1323,21 @@ } }, "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\"git.kalinow.ski/kiterun/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": "## #\u003cspan pulumi-lang-nodejs=\" incus.Image\n\" pulumi-lang-dotnet=\" incus.Image\n\" pulumi-lang-go=\" Image\n\" pulumi-lang-python=\" Image\n\" pulumi-lang-yaml=\" incus.Image\n\" pulumi-lang-java=\" incus.Image\n\"\u003e incus.Image\n\u003c/span\u003e\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/kiterun/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## Image alias Example\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\", {\n sourceImage: {\n remote: \"images\",\n name: \"alpine/edge\",\n },\n aliases: [\n {\n name: \"alpine\",\n description: \"Alpine Linux\",\n },\n {\n name: \"alpine-edge\",\n description: \"Alpine Linux Edge\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_incus as incus\n\nalpine = incus.Image(\"alpine\",\n source_image={\n \"remote\": \"images\",\n \"name\": \"alpine/edge\",\n },\n aliases=[\n {\n \"name\": \"alpine\",\n \"description\": \"Alpine Linux\",\n },\n {\n \"name\": \"alpine-edge\",\n \"description\": \"Alpine Linux Edge\",\n },\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 alpine = new Incus.Image(\"alpine\", new()\n {\n SourceImage = new Incus.Inputs.ImageSourceImageArgs\n {\n Remote = \"images\",\n Name = \"alpine/edge\",\n },\n Aliases = new[]\n {\n new Incus.Inputs.ImageAliasArgs\n {\n Name = \"alpine\",\n Description = \"Alpine Linux\",\n },\n new Incus.Inputs.ImageAliasArgs\n {\n Name = \"alpine-edge\",\n Description = \"Alpine Linux Edge\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"git.kalinow.ski/kiterun/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.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\tAliases: incus.ImageAliasArray{\n\t\t\t\t\u0026incus.ImageAliasArgs{\n\t\t\t\t\tName: pulumi.String(\"alpine\"),\n\t\t\t\t\tDescription: pulumi.String(\"Alpine Linux\"),\n\t\t\t\t},\n\t\t\t\t\u0026incus.ImageAliasArgs{\n\t\t\t\t\tName: pulumi.String(\"alpine-edge\"),\n\t\t\t\t\tDescription: pulumi.String(\"Alpine Linux Edge\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```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.inputs.ImageAliasArgs;\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 .aliases( \n ImageAliasArgs.builder()\n .name(\"alpine\")\n .description(\"Alpine Linux\")\n .build(),\n ImageAliasArgs.builder()\n .name(\"alpine-edge\")\n .description(\"Alpine Linux Edge\")\n .build())\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 aliases:\n - name: alpine\n description: Alpine Linux\n - name: alpine-edge\n description: Alpine Linux Edge\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", "items": { - "type": "string" + "$ref": "#/types/incus:index/ImageAlias:ImageAlias" }, - "description": "*Optional* - A list of aliases to assign to the image after\npulling.\n" + "description": "Image alias" }, "copiedAliases": { "type": "array", "items": { "type": "string" }, - "description": "The list of aliases that were copied from the\n`source_image`.\n" + "description": "The list of aliases that were copied from the\n\u003cspan pulumi-lang-nodejs=\"`sourceImage`\" pulumi-lang-dotnet=\"`SourceImage`\" pulumi-lang-go=\"`sourceImage`\" pulumi-lang-python=\"`source_image`\" pulumi-lang-yaml=\"`sourceImage`\" pulumi-lang-java=\"`sourceImage`\"\u003e`source_image`\u003c/span\u003e.\n" }, "createdAt": { "type": "integer", @@ -1045,9 +1381,9 @@ "aliases": { "type": "array", "items": { - "type": "string" + "$ref": "#/types/incus:index/ImageAlias:ImageAlias" }, - "description": "*Optional* - A list of aliases to assign to the image after\npulling.\n" + "description": "Image alias" }, "project": { "type": "string", @@ -1076,16 +1412,16 @@ "aliases": { "type": "array", "items": { - "type": "string" + "$ref": "#/types/incus:index/ImageAlias:ImageAlias" }, - "description": "*Optional* - A list of aliases to assign to the image after\npulling.\n" + "description": "Image alias" }, "copiedAliases": { "type": "array", "items": { "type": "string" }, - "description": "The list of aliases that were copied from the\n`source_image`.\n" + "description": "The list of aliases that were copied from the\n\u003cspan pulumi-lang-nodejs=\"`sourceImage`\" pulumi-lang-dotnet=\"`SourceImage`\" pulumi-lang-go=\"`sourceImage`\" pulumi-lang-python=\"`source_image`\" pulumi-lang-yaml=\"`sourceImage`\" pulumi-lang-java=\"`sourceImage`\"\u003e`source_image`\u003c/span\u003e.\n" }, "createdAt": { "type": "integer", @@ -1124,6 +1460,10 @@ }, "incus:index/instance:Instance": { "properties": { + "architecture": { + "type": "string", + "description": "*Optional* - The instance architecture (e.g. x86_64, aarch64). See [Architectures](https://linuxcontainers.org/incus/docs/main/architectures/) for all possible values.\n" + }, "config": { "type": "object", "additionalProperties": { @@ -1144,7 +1484,7 @@ }, "ephemeral": { "type": "boolean", - "description": "*Optional* - Boolean indicating if this instance is ephemeral. Defaults to `false`.\n" + "description": "*Optional* - Boolean indicating if this instance is ephemeral. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n" }, "files": { "type": "array", @@ -1178,7 +1518,7 @@ "items": { "type": "string" }, - "description": "*Optional* - List of Incus config profiles to apply to the new\ninstance. Profile `default` will be applied if profiles are not set (are `null`).\nHowever, if an empty array (`[]`) is set as a value, no profiles will be applied.\n" + "description": "*Optional* - List of Incus config profiles to apply to the new\ninstance. Profile \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e will be applied if profiles are not set (are \u003cspan pulumi-lang-nodejs=\"`null`\" pulumi-lang-dotnet=\"`Null`\" pulumi-lang-go=\"`null`\" pulumi-lang-python=\"`null`\" pulumi-lang-yaml=\"`null`\" pulumi-lang-java=\"`null`\"\u003e`null`\u003c/span\u003e).\nHowever, if an empty array (`[]`) is set as a value, no profiles will be applied.\n" }, "project": { "type": "string", @@ -1191,7 +1531,7 @@ }, "running": { "type": "boolean", - "description": "*Optional* - Boolean indicating whether the instance should be started (running). Defaults to `true`.\n" + "description": "*Optional* - Boolean indicating whether the instance should be started (running). Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n" }, "sourceFile": { "type": "string", @@ -1211,17 +1551,18 @@ }, "type": { "type": "string", - "description": "*Optional* - Instance type. Can be `container`, or `virtual-machine`. Defaults to `container`.\n" + "description": "*Optional* - Instance type. Can be \u003cspan pulumi-lang-nodejs=\"`container`\" pulumi-lang-dotnet=\"`Container`\" pulumi-lang-go=\"`container`\" pulumi-lang-python=\"`container`\" pulumi-lang-yaml=\"`container`\" pulumi-lang-java=\"`container`\"\u003e`container`\u003c/span\u003e, or `virtual-machine`. Defaults to \u003cspan pulumi-lang-nodejs=\"`container`\" pulumi-lang-dotnet=\"`Container`\" pulumi-lang-go=\"`container`\" pulumi-lang-python=\"`container`\" pulumi-lang-yaml=\"`container`\" pulumi-lang-java=\"`container`\"\u003e`container`\u003c/span\u003e.\n" }, "waitFors": { "type": "array", "items": { "$ref": "#/types/incus:index/InstanceWaitFor:InstanceWaitFor" }, - "description": "*Optional* - WaitFor definition. See reference below.\nIf `running` is set to false or instance is already running (on update), this value has no effect.\n" + "description": "*Optional* - WaitFor definition. See reference below.\nIf \u003cspan pulumi-lang-nodejs=\"`running`\" pulumi-lang-dotnet=\"`Running`\" pulumi-lang-go=\"`running`\" pulumi-lang-python=\"`running`\" pulumi-lang-yaml=\"`running`\" pulumi-lang-java=\"`running`\"\u003e`running`\u003c/span\u003e is set to false or instance is already running (on update), this value has no effect.\n" } }, "required": [ + "architecture", "config", "description", "ephemeral", @@ -1237,6 +1578,10 @@ "type" ], "inputProperties": { + "architecture": { + "type": "string", + "description": "*Optional* - The instance architecture (e.g. x86_64, aarch64). See [Architectures](https://linuxcontainers.org/incus/docs/main/architectures/) for all possible values.\n" + }, "config": { "type": "object", "additionalProperties": { @@ -1257,7 +1602,7 @@ }, "ephemeral": { "type": "boolean", - "description": "*Optional* - Boolean indicating if this instance is ephemeral. Defaults to `false`.\n" + "description": "*Optional* - Boolean indicating if this instance is ephemeral. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n" }, "files": { "type": "array", @@ -1279,7 +1624,7 @@ "items": { "type": "string" }, - "description": "*Optional* - List of Incus config profiles to apply to the new\ninstance. Profile `default` will be applied if profiles are not set (are `null`).\nHowever, if an empty array (`[]`) is set as a value, no profiles will be applied.\n" + "description": "*Optional* - List of Incus config profiles to apply to the new\ninstance. Profile \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e will be applied if profiles are not set (are \u003cspan pulumi-lang-nodejs=\"`null`\" pulumi-lang-dotnet=\"`Null`\" pulumi-lang-go=\"`null`\" pulumi-lang-python=\"`null`\" pulumi-lang-yaml=\"`null`\" pulumi-lang-java=\"`null`\"\u003e`null`\u003c/span\u003e).\nHowever, if an empty array (`[]`) is set as a value, no profiles will be applied.\n" }, "project": { "type": "string", @@ -1292,7 +1637,7 @@ }, "running": { "type": "boolean", - "description": "*Optional* - Boolean indicating whether the instance should be started (running). Defaults to `true`.\n" + "description": "*Optional* - Boolean indicating whether the instance should be started (running). Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n" }, "sourceFile": { "type": "string", @@ -1308,19 +1653,26 @@ }, "type": { "type": "string", - "description": "*Optional* - Instance type. Can be `container`, or `virtual-machine`. Defaults to `container`.\n" + "description": "*Optional* - Instance type. Can be \u003cspan pulumi-lang-nodejs=\"`container`\" pulumi-lang-dotnet=\"`Container`\" pulumi-lang-go=\"`container`\" pulumi-lang-python=\"`container`\" pulumi-lang-yaml=\"`container`\" pulumi-lang-java=\"`container`\"\u003e`container`\u003c/span\u003e, or `virtual-machine`. Defaults to \u003cspan pulumi-lang-nodejs=\"`container`\" pulumi-lang-dotnet=\"`Container`\" pulumi-lang-go=\"`container`\" pulumi-lang-python=\"`container`\" pulumi-lang-yaml=\"`container`\" pulumi-lang-java=\"`container`\"\u003e`container`\u003c/span\u003e.\n" }, "waitFors": { "type": "array", "items": { "$ref": "#/types/incus:index/InstanceWaitFor:InstanceWaitFor" }, - "description": "*Optional* - WaitFor definition. See reference below.\nIf `running` is set to false or instance is already running (on update), this value has no effect.\n" + "description": "*Optional* - WaitFor definition. See reference below.\nIf \u003cspan pulumi-lang-nodejs=\"`running`\" pulumi-lang-dotnet=\"`Running`\" pulumi-lang-go=\"`running`\" pulumi-lang-python=\"`running`\" pulumi-lang-yaml=\"`running`\" pulumi-lang-java=\"`running`\"\u003e`running`\u003c/span\u003e is set to false or instance is already running (on update), this value has no effect.\n" } }, + "requiredInputs": [ + "name" + ], "stateInputs": { "description": "Input properties used for looking up and filtering Instance resources.\n", "properties": { + "architecture": { + "type": "string", + "description": "*Optional* - The instance architecture (e.g. x86_64, aarch64). See [Architectures](https://linuxcontainers.org/incus/docs/main/architectures/) for all possible values.\n" + }, "config": { "type": "object", "additionalProperties": { @@ -1341,7 +1693,7 @@ }, "ephemeral": { "type": "boolean", - "description": "*Optional* - Boolean indicating if this instance is ephemeral. Defaults to `false`.\n" + "description": "*Optional* - Boolean indicating if this instance is ephemeral. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n" }, "files": { "type": "array", @@ -1375,7 +1727,7 @@ "items": { "type": "string" }, - "description": "*Optional* - List of Incus config profiles to apply to the new\ninstance. Profile `default` will be applied if profiles are not set (are `null`).\nHowever, if an empty array (`[]`) is set as a value, no profiles will be applied.\n" + "description": "*Optional* - List of Incus config profiles to apply to the new\ninstance. Profile \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e will be applied if profiles are not set (are \u003cspan pulumi-lang-nodejs=\"`null`\" pulumi-lang-dotnet=\"`Null`\" pulumi-lang-go=\"`null`\" pulumi-lang-python=\"`null`\" pulumi-lang-yaml=\"`null`\" pulumi-lang-java=\"`null`\"\u003e`null`\u003c/span\u003e).\nHowever, if an empty array (`[]`) is set as a value, no profiles will be applied.\n" }, "project": { "type": "string", @@ -1388,7 +1740,7 @@ }, "running": { "type": "boolean", - "description": "*Optional* - Boolean indicating whether the instance should be started (running). Defaults to `true`.\n" + "description": "*Optional* - Boolean indicating whether the instance should be started (running). Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n" }, "sourceFile": { "type": "string", @@ -1408,21 +1760,21 @@ }, "type": { "type": "string", - "description": "*Optional* - Instance type. Can be `container`, or `virtual-machine`. Defaults to `container`.\n" + "description": "*Optional* - Instance type. Can be \u003cspan pulumi-lang-nodejs=\"`container`\" pulumi-lang-dotnet=\"`Container`\" pulumi-lang-go=\"`container`\" pulumi-lang-python=\"`container`\" pulumi-lang-yaml=\"`container`\" pulumi-lang-java=\"`container`\"\u003e`container`\u003c/span\u003e, or `virtual-machine`. Defaults to \u003cspan pulumi-lang-nodejs=\"`container`\" pulumi-lang-dotnet=\"`Container`\" pulumi-lang-go=\"`container`\" pulumi-lang-python=\"`container`\" pulumi-lang-yaml=\"`container`\" pulumi-lang-java=\"`container`\"\u003e`container`\u003c/span\u003e.\n" }, "waitFors": { "type": "array", "items": { "$ref": "#/types/incus:index/InstanceWaitFor:InstanceWaitFor" }, - "description": "*Optional* - WaitFor definition. See reference below.\nIf `running` is set to false or instance is already running (on update), this value has no effect.\n" + "description": "*Optional* - WaitFor definition. See reference below.\nIf \u003cspan pulumi-lang-nodejs=\"`running`\" pulumi-lang-dotnet=\"`Running`\" pulumi-lang-go=\"`running`\" pulumi-lang-python=\"`running`\" pulumi-lang-yaml=\"`running`\" pulumi-lang-java=\"`running`\"\u003e`running`\u003c/span\u003e is set to false or instance is already running (on update), this value has no effect.\n" } }, "type": "object" } }, "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\"git.kalinow.ski/kiterun/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": "## #\u003cspan pulumi-lang-nodejs=\" incus.InstanceSnapshot\n\" pulumi-lang-dotnet=\" incus.InstanceSnapshot\n\" pulumi-lang-go=\" InstanceSnapshot\n\" pulumi-lang-python=\" InstanceSnapshot\n\" pulumi-lang-yaml=\" incus.InstanceSnapshot\n\" pulumi-lang-java=\" incus.InstanceSnapshot\n\"\u003e incus.InstanceSnapshot\n\u003c/span\u003e\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/kiterun/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", @@ -1447,7 +1799,7 @@ }, "stateful": { "type": "boolean", - "description": "*Optional* - Set to `true` to create a stateful snapshot,\n`false` for stateless. Stateful snapshots include runtime state. Defaults to\n`false`.\n" + "description": "*Optional* - Set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e to create a stateful snapshot,\n\u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e for stateless. Stateful snapshots include runtime state. Defaults to\n\u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n" } }, "required": [ @@ -1477,11 +1829,12 @@ }, "stateful": { "type": "boolean", - "description": "*Optional* - Set to `true` to create a stateful snapshot,\n`false` for stateless. Stateful snapshots include runtime state. Defaults to\n`false`.\n" + "description": "*Optional* - Set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e to create a stateful snapshot,\n\u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e for stateless. Stateful snapshots include runtime state. Defaults to\n\u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n" } }, "requiredInputs": [ - "instance" + "instance", + "name" ], "stateInputs": { "description": "Input properties used for looking up and filtering InstanceSnapshot resources.\n", @@ -1509,7 +1862,7 @@ }, "stateful": { "type": "boolean", - "description": "*Optional* - Set to `true` to create a stateful snapshot,\n`false` for stateless. Stateful snapshots include runtime state. Defaults to\n`false`.\n" + "description": "*Optional* - Set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e to create a stateful snapshot,\n\u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e for stateless. Stateful snapshots include runtime state. Defaults to\n\u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n" } }, "type": "object" @@ -1526,7 +1879,7 @@ }, "description": { "type": "string", - "description": "*Optional* - Description of the network.\n" + "description": "*Optional* - Description of the network. \u003cspan pulumi-lang-nodejs=\"`description`\" pulumi-lang-dotnet=\"`Description`\" pulumi-lang-go=\"`description`\" pulumi-lang-python=\"`description`\" pulumi-lang-yaml=\"`description`\" pulumi-lang-java=\"`description`\"\u003e`description`\u003c/span\u003e is mutual exclusive with \u003cspan pulumi-lang-nodejs=\"`target`\" pulumi-lang-dotnet=\"`Target`\" pulumi-lang-go=\"`target`\" pulumi-lang-python=\"`target`\" pulumi-lang-yaml=\"`target`\" pulumi-lang-java=\"`target`\"\u003e`target`\u003c/span\u003e. The \u003cspan pulumi-lang-nodejs=\"`description`\" pulumi-lang-dotnet=\"`Description`\" pulumi-lang-go=\"`description`\" pulumi-lang-python=\"`description`\" pulumi-lang-yaml=\"`description`\" pulumi-lang-java=\"`description`\"\u003e`description`\u003c/span\u003e can only be set on cluster level (with \u003cspan pulumi-lang-nodejs=\"`target`\" pulumi-lang-dotnet=\"`Target`\" pulumi-lang-go=\"`target`\" pulumi-lang-python=\"`target`\" pulumi-lang-yaml=\"`target`\" pulumi-lang-java=\"`target`\"\u003e`target`\u003c/span\u003e not set) or on non-clustered setups.\n" }, "managed": { "type": "boolean", @@ -1572,7 +1925,7 @@ }, "description": { "type": "string", - "description": "*Optional* - Description of the network.\n" + "description": "*Optional* - Description of the network. \u003cspan pulumi-lang-nodejs=\"`description`\" pulumi-lang-dotnet=\"`Description`\" pulumi-lang-go=\"`description`\" pulumi-lang-python=\"`description`\" pulumi-lang-yaml=\"`description`\" pulumi-lang-java=\"`description`\"\u003e`description`\u003c/span\u003e is mutual exclusive with \u003cspan pulumi-lang-nodejs=\"`target`\" pulumi-lang-dotnet=\"`Target`\" pulumi-lang-go=\"`target`\" pulumi-lang-python=\"`target`\" pulumi-lang-yaml=\"`target`\" pulumi-lang-java=\"`target`\"\u003e`target`\u003c/span\u003e. The \u003cspan pulumi-lang-nodejs=\"`description`\" pulumi-lang-dotnet=\"`Description`\" pulumi-lang-go=\"`description`\" pulumi-lang-python=\"`description`\" pulumi-lang-yaml=\"`description`\" pulumi-lang-java=\"`description`\"\u003e`description`\u003c/span\u003e can only be set on cluster level (with \u003cspan pulumi-lang-nodejs=\"`target`\" pulumi-lang-dotnet=\"`Target`\" pulumi-lang-go=\"`target`\" pulumi-lang-python=\"`target`\" pulumi-lang-yaml=\"`target`\" pulumi-lang-java=\"`target`\"\u003e`target`\u003c/span\u003e not set) or on non-clustered setups.\n" }, "name": { "type": "string", @@ -1596,6 +1949,9 @@ "description": "*Optional* - The type of network to create. Can be one of: bridge,\nmacvlan, sriov, ovn, or physical. If no type is specified, a bridge network\nis created.\n" } }, + "requiredInputs": [ + "name" + ], "stateInputs": { "description": "Input properties used for looking up and filtering Network resources.\n", "properties": { @@ -1608,7 +1964,7 @@ }, "description": { "type": "string", - "description": "*Optional* - Description of the network.\n" + "description": "*Optional* - Description of the network. \u003cspan pulumi-lang-nodejs=\"`description`\" pulumi-lang-dotnet=\"`Description`\" pulumi-lang-go=\"`description`\" pulumi-lang-python=\"`description`\" pulumi-lang-yaml=\"`description`\" pulumi-lang-java=\"`description`\"\u003e`description`\u003c/span\u003e is mutual exclusive with \u003cspan pulumi-lang-nodejs=\"`target`\" pulumi-lang-dotnet=\"`Target`\" pulumi-lang-go=\"`target`\" pulumi-lang-python=\"`target`\" pulumi-lang-yaml=\"`target`\" pulumi-lang-java=\"`target`\"\u003e`target`\u003c/span\u003e. The \u003cspan pulumi-lang-nodejs=\"`description`\" pulumi-lang-dotnet=\"`Description`\" pulumi-lang-go=\"`description`\" pulumi-lang-python=\"`description`\" pulumi-lang-yaml=\"`description`\" pulumi-lang-java=\"`description`\"\u003e`description`\u003c/span\u003e can only be set on cluster level (with \u003cspan pulumi-lang-nodejs=\"`target`\" pulumi-lang-dotnet=\"`Target`\" pulumi-lang-go=\"`target`\" pulumi-lang-python=\"`target`\" pulumi-lang-yaml=\"`target`\" pulumi-lang-java=\"`target`\"\u003e`target`\u003c/span\u003e not set) or on non-clustered setups.\n" }, "managed": { "type": "boolean", @@ -1728,6 +2084,9 @@ "description": "*Optional* - The remote in which the resource will be created. If\nnot provided, the provider's default remote will be used.\n" } }, + "requiredInputs": [ + "name" + ], "stateInputs": { "description": "Input properties used for looking up and filtering NetworkAcl resources.\n", "properties": { @@ -1773,6 +2132,119 @@ "type": "object" } }, + "incus:index/networkAddressSet:NetworkAddressSet": { + "description": "## #\u003cspan pulumi-lang-nodejs=\" incus.NetworkAddressSet\n\" pulumi-lang-dotnet=\" incus.NetworkAddressSet\n\" pulumi-lang-go=\" NetworkAddressSet\n\" pulumi-lang-python=\" NetworkAddressSet\n\" pulumi-lang-yaml=\" incus.NetworkAddressSet\n\" pulumi-lang-java=\" incus.NetworkAddressSet\n\"\u003e incus.NetworkAddressSet\n\u003c/span\u003e\nNetwork address sets are a list of either IPv4, IPv6 addresses with or without CIDR suffix. They can be used in source or destination fields of [ACLs](https://linuxcontainers.org/incus/docs/main/howto/network_acls/#network-acls-rules-properties).\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.NetworkAddressSet(\"this\", {\n name: \"Network Address Set\",\n description: \"Network Address Set description\",\n addresses: [\n \"10.0.0.2\",\n \"10.0.0.3\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_incus as incus\n\nthis = incus.NetworkAddressSet(\"this\",\n name=\"Network Address Set\",\n description=\"Network Address Set description\",\n addresses=[\n \"10.0.0.2\",\n \"10.0.0.3\",\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.NetworkAddressSet(\"this\", new()\n {\n Name = \"Network Address Set\",\n Description = \"Network Address Set description\",\n Addresses = new[]\n {\n \"10.0.0.2\",\n \"10.0.0.3\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"git.kalinow.ski/kiterun/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.NewNetworkAddressSet(ctx, \"this\", \u0026incus.NetworkAddressSetArgs{\n\t\t\tName: pulumi.String(\"Network Address Set\"),\n\t\t\tDescription: pulumi.String(\"Network Address Set description\"),\n\t\t\tAddresses: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.2\"),\n\t\t\t\tpulumi.String(\"10.0.0.3\"),\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.NetworkAddressSet;\nimport com.pulumi.incus.NetworkAddressSetArgs;\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 NetworkAddressSet(\"this\", NetworkAddressSetArgs.builder()\n .name(\"Network Address Set\")\n .description(\"Network Address Set description\")\n .addresses( \n \"10.0.0.2\",\n \"10.0.0.3\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n this:\n type: incus:NetworkAddressSet\n properties:\n name: Network Address Set\n description: Network Address Set description\n addresses:\n - 10.0.0.2\n - 10.0.0.3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## ACL 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.NetworkAddressSet(\"this\", {\n name: \"network_address_set\",\n description: \"Network Address Set description\",\n addresses: [\n \"10.0.0.2\",\n \"10.0.0.3\",\n ],\n});\nconst thisNetworkAcl = new incus.NetworkAcl(\"this\", {\n name: \"network_acl\",\n ingresses: [{\n action: \"allow\",\n source: \"${incus_network_address_set.this.name}\",\n destination_port: \"22\",\n protocol: \"tcp\",\n description: pulumi.interpolate`Incoming SSH connections from ${_this.name}`,\n state: \"logged\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_incus as incus\n\nthis = incus.NetworkAddressSet(\"this\",\n name=\"network_address_set\",\n description=\"Network Address Set description\",\n addresses=[\n \"10.0.0.2\",\n \"10.0.0.3\",\n ])\nthis_network_acl = incus.NetworkAcl(\"this\",\n name=\"network_acl\",\n ingresses=[{\n \"action\": \"allow\",\n \"source\": \"${incus_network_address_set.this.name}\",\n \"destination_port\": \"22\",\n \"protocol\": \"tcp\",\n \"description\": this.name.apply(lambda name: f\"Incoming SSH connections from {name}\"),\n \"state\": \"logged\",\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.NetworkAddressSet(\"this\", new()\n {\n Name = \"network_address_set\",\n Description = \"Network Address Set description\",\n Addresses = new[]\n {\n \"10.0.0.2\",\n \"10.0.0.3\",\n },\n });\n\n var thisNetworkAcl = new Incus.NetworkAcl(\"this\", new()\n {\n Name = \"network_acl\",\n Ingresses = new[]\n {\n new Incus.Inputs.NetworkAclIngressArgs\n {\n Action = \"allow\",\n Source = \"${incus_network_address_set.this.name}\",\n Destination_port = \"22\",\n Protocol = \"tcp\",\n Description = @this.Name.Apply(name =\u003e $\"Incoming SSH connections from {name}\"),\n State = \"logged\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"git.kalinow.ski/kiterun/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\tthis, err := incus.NewNetworkAddressSet(ctx, \"this\", \u0026incus.NetworkAddressSetArgs{\n\t\t\tName: pulumi.String(\"network_address_set\"),\n\t\t\tDescription: pulumi.String(\"Network Address Set description\"),\n\t\t\tAddresses: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.2\"),\n\t\t\t\tpulumi.String(\"10.0.0.3\"),\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.NewNetworkAcl(ctx, \"this\", \u0026incus.NetworkAclArgs{\n\t\t\tName: pulumi.String(\"network_acl\"),\n\t\t\tIngresses: incus.NetworkAclIngressArray{\n\t\t\t\t\u0026incus.NetworkAclIngressArgs{\n\t\t\t\t\tAction: pulumi.String(\"allow\"),\n\t\t\t\t\tSource: pulumi.String(\"${incus_network_address_set.this.name}\"),\n\t\t\t\t\tDestination_port: \"22\",\n\t\t\t\t\tProtocol: pulumi.String(\"tcp\"),\n\t\t\t\t\tDescription: this.Name.ApplyT(func(name string) (string, error) {\n\t\t\t\t\t\treturn fmt.Sprintf(\"Incoming SSH connections from %v\", name), nil\n\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\tState: pulumi.String(\"logged\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.incus.NetworkAddressSet;\nimport com.pulumi.incus.NetworkAddressSetArgs;\nimport com.pulumi.incus.NetworkAcl;\nimport com.pulumi.incus.NetworkAclArgs;\nimport com.pulumi.incus.inputs.NetworkAclIngressArgs;\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 NetworkAddressSet(\"this\", NetworkAddressSetArgs.builder()\n .name(\"network_address_set\")\n .description(\"Network Address Set description\")\n .addresses( \n \"10.0.0.2\",\n \"10.0.0.3\")\n .build());\n\n var thisNetworkAcl = new NetworkAcl(\"thisNetworkAcl\", NetworkAclArgs.builder()\n .name(\"network_acl\")\n .ingresses(NetworkAclIngressArgs.builder()\n .action(\"allow\")\n .source(\"${incus_network_address_set.this.name}\")\n .destination_port(\"22\")\n .protocol(\"tcp\")\n .description(this_.name().applyValue(_name -\u003e String.format(\"Incoming SSH connections from %s\", _name)))\n .state(\"logged\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n this:\n type: incus:NetworkAddressSet\n properties:\n name: network_address_set\n description: Network Address Set description\n addresses:\n - 10.0.0.2\n - 10.0.0.3\n thisNetworkAcl:\n type: incus:NetworkAcl\n name: this\n properties:\n name: network_acl\n ingresses:\n - action: allow\n source: $${incus_network_address_set.this.name}\n destination_port: '22'\n protocol: tcp\n description: Incoming SSH connections from ${this.name}\n state: logged\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "properties": { + "addresses": { + "type": "array", + "items": { + "type": "string" + }, + "description": "**Required** - IP addresses of the address set.\n" + }, + "config": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "*Optional* - Map of key/value pairs of [network address set config settings](https://linuxcontainers.org/incus/docs/main/howto/network_address_sets/#address-set-configuration-options)\n" + }, + "description": { + "type": "string", + "description": "*Optional* - Description of the network address set.\n" + }, + "name": { + "type": "string", + "description": "**Required** - Name of the network address set.\n" + }, + "project": { + "type": "string", + "description": "*Optional* - Name of the project where the network address set will be created.\n" + }, + "remote": { + "type": "string", + "description": "*Optional* - The remote in which the resource will be created. If\nnot provided, the provider's default remote will be used.\n" + } + }, + "required": [ + "addresses", + "config", + "description", + "name" + ], + "inputProperties": { + "addresses": { + "type": "array", + "items": { + "type": "string" + }, + "description": "**Required** - IP addresses of the address set.\n" + }, + "config": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "*Optional* - Map of key/value pairs of [network address set config settings](https://linuxcontainers.org/incus/docs/main/howto/network_address_sets/#address-set-configuration-options)\n" + }, + "description": { + "type": "string", + "description": "*Optional* - Description of the network address set.\n" + }, + "name": { + "type": "string", + "description": "**Required** - Name of the network address set.\n" + }, + "project": { + "type": "string", + "description": "*Optional* - Name of the project where the network address set will be created.\n" + }, + "remote": { + "type": "string", + "description": "*Optional* - The remote in which the resource will be created. If\nnot provided, the provider's default remote will be used.\n" + } + }, + "requiredInputs": [ + "addresses", + "name" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering NetworkAddressSet resources.\n", + "properties": { + "addresses": { + "type": "array", + "items": { + "type": "string" + }, + "description": "**Required** - IP addresses of the address set.\n" + }, + "config": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "*Optional* - Map of key/value pairs of [network address set config settings](https://linuxcontainers.org/incus/docs/main/howto/network_address_sets/#address-set-configuration-options)\n" + }, + "description": { + "type": "string", + "description": "*Optional* - Description of the network address set.\n" + }, + "name": { + "type": "string", + "description": "**Required** - Name of the network address set.\n" + }, + "project": { + "type": "string", + "description": "*Optional* - Name of the project where the network address set will be created.\n" + }, + "remote": { + "type": "string", + "description": "*Optional* - The remote in which the resource will be created. If\nnot provided, the provider's default remote will be used.\n" + } + }, + "type": "object" + } + }, "incus:index/networkForward:NetworkForward": { "properties": { "config": { @@ -1899,7 +2371,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\"git.kalinow.ski/kiterun/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/kiterun/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": "## #\u003cspan pulumi-lang-nodejs=\" incus.NetworkIntegration\n\" pulumi-lang-dotnet=\" incus.NetworkIntegration\n\" pulumi-lang-go=\" NetworkIntegration\n\" pulumi-lang-python=\" NetworkIntegration\n\" pulumi-lang-yaml=\" incus.NetworkIntegration\n\" pulumi-lang-java=\" incus.NetworkIntegration\n\"\u003e incus.NetworkIntegration\n\u003c/span\u003e\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/kiterun/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/kiterun/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", @@ -1927,7 +2399,7 @@ }, "type": { "type": "string", - "description": "**Required** - The type of the network integration. Currently, only supports `ovn` type.\n" + "description": "**Required** - The type of the network integration. Currently, only supports \u003cspan pulumi-lang-nodejs=\"`ovn`\" pulumi-lang-dotnet=\"`Ovn`\" pulumi-lang-go=\"`ovn`\" pulumi-lang-python=\"`ovn`\" pulumi-lang-yaml=\"`ovn`\" pulumi-lang-java=\"`ovn`\"\u003e`ovn`\u003c/span\u003e type.\n" } }, "required": [ @@ -1964,10 +2436,11 @@ }, "type": { "type": "string", - "description": "**Required** - The type of the network integration. Currently, only supports `ovn` type.\n" + "description": "**Required** - The type of the network integration. Currently, only supports \u003cspan pulumi-lang-nodejs=\"`ovn`\" pulumi-lang-dotnet=\"`Ovn`\" pulumi-lang-go=\"`ovn`\" pulumi-lang-python=\"`ovn`\" pulumi-lang-yaml=\"`ovn`\" pulumi-lang-java=\"`ovn`\"\u003e`ovn`\u003c/span\u003e type.\n" } }, "requiredInputs": [ + "name", "type" ], "stateInputs": { @@ -1999,7 +2472,7 @@ }, "type": { "type": "string", - "description": "**Required** - The type of the network integration. Currently, only supports `ovn` type.\n" + "description": "**Required** - The type of the network integration. Currently, only supports \u003cspan pulumi-lang-nodejs=\"`ovn`\" pulumi-lang-dotnet=\"`Ovn`\" pulumi-lang-go=\"`ovn`\" pulumi-lang-python=\"`ovn`\" pulumi-lang-yaml=\"`ovn`\" pulumi-lang-java=\"`ovn`\"\u003e`ovn`\u003c/span\u003e type.\n" } }, "type": "object" @@ -2012,7 +2485,7 @@ "items": { "$ref": "#/types/incus:index/NetworkLoadBalancerBackend:NetworkLoadBalancerBackend" }, - "description": "Network load balancer backend\n" + "description": "Network load balancer backend" }, "config": { "type": "object", @@ -2034,7 +2507,7 @@ "items": { "$ref": "#/types/incus:index/NetworkLoadBalancerPort:NetworkLoadBalancerPort" }, - "description": "Network load balancer port\n" + "description": "Network load balancer port" }, "project": { "type": "string" @@ -2055,7 +2528,7 @@ "items": { "$ref": "#/types/incus:index/NetworkLoadBalancerBackend:NetworkLoadBalancerBackend" }, - "description": "Network load balancer backend\n" + "description": "Network load balancer backend" }, "config": { "type": "object", @@ -2077,7 +2550,7 @@ "items": { "$ref": "#/types/incus:index/NetworkLoadBalancerPort:NetworkLoadBalancerPort" }, - "description": "Network load balancer port\n" + "description": "Network load balancer port" }, "project": { "type": "string" @@ -2098,7 +2571,7 @@ "items": { "$ref": "#/types/incus:index/NetworkLoadBalancerBackend:NetworkLoadBalancerBackend" }, - "description": "Network load balancer backend\n" + "description": "Network load balancer backend" }, "config": { "type": "object", @@ -2120,7 +2593,7 @@ "items": { "$ref": "#/types/incus:index/NetworkLoadBalancerPort:NetworkLoadBalancerPort" }, - "description": "Network load balancer port\n" + "description": "Network load balancer port" }, "project": { "type": "string" @@ -2133,7 +2606,7 @@ } }, "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\"git.kalinow.ski/kiterun/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": "## #\u003cspan pulumi-lang-nodejs=\" incus.NetworkPeer\n\" pulumi-lang-dotnet=\" incus.NetworkPeer\n\" pulumi-lang-go=\" NetworkPeer\n\" pulumi-lang-python=\" NetworkPeer\n\" pulumi-lang-yaml=\" incus.NetworkPeer\n\" pulumi-lang-java=\" incus.NetworkPeer\n\"\u003e incus.NetworkPeer\n\u003c/span\u003e\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/kiterun/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", @@ -2238,6 +2711,9 @@ "description": "*Optional* - Type of network peering\n" } }, + "requiredInputs": [ + "name" + ], "stateInputs": { "description": "Input properties used for looking up and filtering NetworkPeer resources.\n", "properties": { @@ -2298,7 +2774,7 @@ "additionalProperties": { "type": "string" }, - "description": "*Optional* - Map of key/value pairs of\n[network zone_config settings](https://linuxcontainers.org/incus/docs/main/howto/network_zones/#configuration-options).\n" + "description": "*Optional* - Map of key/value pairs of\n[network\u003cspan pulumi-lang-nodejs=\" zoneConfig \" pulumi-lang-dotnet=\" ZoneConfig \" pulumi-lang-go=\" zoneConfig \" pulumi-lang-python=\" zone_config \" pulumi-lang-yaml=\" zoneConfig \" pulumi-lang-java=\" zoneConfig \"\u003e zone_config \u003c/span\u003esettings](https://linuxcontainers.org/incus/docs/main/howto/network_zones/#configuration-options).\n" }, "description": { "type": "string", @@ -2330,7 +2806,7 @@ "additionalProperties": { "type": "string" }, - "description": "*Optional* - Map of key/value pairs of\n[network zone_config settings](https://linuxcontainers.org/incus/docs/main/howto/network_zones/#configuration-options).\n" + "description": "*Optional* - Map of key/value pairs of\n[network\u003cspan pulumi-lang-nodejs=\" zoneConfig \" pulumi-lang-dotnet=\" ZoneConfig \" pulumi-lang-go=\" zoneConfig \" pulumi-lang-python=\" zone_config \" pulumi-lang-yaml=\" zoneConfig \" pulumi-lang-java=\" zoneConfig \"\u003e zone_config \u003c/span\u003esettings](https://linuxcontainers.org/incus/docs/main/howto/network_zones/#configuration-options).\n" }, "description": { "type": "string", @@ -2350,6 +2826,9 @@ "description": "*Optional* - The remote in which the resource will be created. If\nnot provided, the provider's default remote will be used.\n" } }, + "requiredInputs": [ + "name" + ], "stateInputs": { "description": "Input properties used for looking up and filtering NetworkZone resources.\n", "properties": { @@ -2358,7 +2837,7 @@ "additionalProperties": { "type": "string" }, - "description": "*Optional* - Map of key/value pairs of\n[network zone_config settings](https://linuxcontainers.org/incus/docs/main/howto/network_zones/#configuration-options).\n" + "description": "*Optional* - Map of key/value pairs of\n[network\u003cspan pulumi-lang-nodejs=\" zoneConfig \" pulumi-lang-dotnet=\" ZoneConfig \" pulumi-lang-go=\" zoneConfig \" pulumi-lang-python=\" zone_config \" pulumi-lang-yaml=\" zoneConfig \" pulumi-lang-java=\" zoneConfig \"\u003e zone_config \u003c/span\u003esettings](https://linuxcontainers.org/incus/docs/main/howto/network_zones/#configuration-options).\n" }, "description": { "type": "string", @@ -2388,7 +2867,7 @@ "additionalProperties": { "type": "string" }, - "description": "*Optional* - Map of key/value pairs of\n[network zone_config settings](https://linuxcontainers.org/incus/docs/main/howto/network_zones/#configuration-options).\n" + "description": "*Optional* - Map of key/value pairs of\n[network\u003cspan pulumi-lang-nodejs=\" zoneConfig \" pulumi-lang-dotnet=\" ZoneConfig \" pulumi-lang-go=\" zoneConfig \" pulumi-lang-python=\" zone_config \" pulumi-lang-yaml=\" zoneConfig \" pulumi-lang-java=\" zoneConfig \"\u003e zone_config \u003c/span\u003esettings](https://linuxcontainers.org/incus/docs/main/howto/network_zones/#configuration-options).\n" }, "description": { "type": "string", @@ -2432,7 +2911,7 @@ "additionalProperties": { "type": "string" }, - "description": "*Optional* - Map of key/value pairs of\n[network zone_config settings](https://linuxcontainers.org/incus/docs/main/howto/network_zones/#configuration-options).\n" + "description": "*Optional* - Map of key/value pairs of\n[network\u003cspan pulumi-lang-nodejs=\" zoneConfig \" pulumi-lang-dotnet=\" ZoneConfig \" pulumi-lang-go=\" zoneConfig \" pulumi-lang-python=\" zone_config \" pulumi-lang-yaml=\" zoneConfig \" pulumi-lang-java=\" zoneConfig \"\u003e zone_config \u003c/span\u003esettings](https://linuxcontainers.org/incus/docs/main/howto/network_zones/#configuration-options).\n" }, "description": { "type": "string", @@ -2464,6 +2943,7 @@ } }, "requiredInputs": [ + "name", "zone" ], "stateInputs": { @@ -2474,7 +2954,7 @@ "additionalProperties": { "type": "string" }, - "description": "*Optional* - Map of key/value pairs of\n[network zone_config settings](https://linuxcontainers.org/incus/docs/main/howto/network_zones/#configuration-options).\n" + "description": "*Optional* - Map of key/value pairs of\n[network\u003cspan pulumi-lang-nodejs=\" zoneConfig \" pulumi-lang-dotnet=\" ZoneConfig \" pulumi-lang-go=\" zoneConfig \" pulumi-lang-python=\" zone_config \" pulumi-lang-yaml=\" zoneConfig \" pulumi-lang-java=\" zoneConfig \"\u003e zone_config \u003c/span\u003esettings](https://linuxcontainers.org/incus/docs/main/howto/network_zones/#configuration-options).\n" }, "description": { "type": "string", @@ -2581,6 +3061,9 @@ "description": "*Optional* - The remote in which the resource will be created. If\nnot provided, the provider's default remote will be used.\n" } }, + "requiredInputs": [ + "name" + ], "stateInputs": { "description": "Input properties used for looking up and filtering Profile resources.\n", "properties": { @@ -2632,6 +3115,10 @@ "type": "string", "description": "*Optional* - Description of the project.\n" }, + "forceDestroy": { + "type": "boolean", + "description": "*Optional* - Whether to delete everything the project contains on destroy so that it can be destroyed without any error.\n" + }, "name": { "type": "string", "description": "**Required** - Name of the project.\n" @@ -2644,6 +3131,7 @@ "required": [ "config", "description", + "forceDestroy", "name" ], "inputProperties": { @@ -2658,6 +3146,10 @@ "type": "string", "description": "*Optional* - Description of the project.\n" }, + "forceDestroy": { + "type": "boolean", + "description": "*Optional* - Whether to delete everything the project contains on destroy so that it can be destroyed without any error.\n" + }, "name": { "type": "string", "description": "**Required** - Name of the project.\n" @@ -2667,6 +3159,9 @@ "description": "*Optional* - The remote in which the resource will be created. If\nnot provided, the provider's default remote will be used.\n" } }, + "requiredInputs": [ + "name" + ], "stateInputs": { "description": "Input properties used for looking up and filtering Project resources.\n", "properties": { @@ -2681,6 +3176,10 @@ "type": "string", "description": "*Optional* - Description of the project.\n" }, + "forceDestroy": { + "type": "boolean", + "description": "*Optional* - Whether to delete everything the project contains on destroy so that it can be destroyed without any error.\n" + }, "name": { "type": "string", "description": "**Required** - Name of the project.\n" @@ -2693,6 +3192,66 @@ "type": "object" } }, + "incus:index/server:Server": { + "properties": { + "config": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "*Optional* - Map of key/value pairs of\n[server config settings](https://linuxcontainers.org/incus/docs/main/server_config/).\n" + }, + "remote": { + "type": "string", + "description": "*Optional* - The remote in which the resource will be created. If\nnot provided, the provider's default remote will be used.\n" + }, + "target": { + "type": "string", + "description": "*Optional* - Specify a target node in a cluster where the config\noptions should be applied. This is in particular important for config options\nwith \u003cspan pulumi-lang-nodejs=\"`local`\" pulumi-lang-dotnet=\"`Local`\" pulumi-lang-go=\"`local`\" pulumi-lang-python=\"`local`\" pulumi-lang-yaml=\"`local`\" pulumi-lang-java=\"`local`\"\u003e`local`\u003c/span\u003e scope.\n" + } + }, + "required": [ + "config" + ], + "inputProperties": { + "config": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "*Optional* - Map of key/value pairs of\n[server config settings](https://linuxcontainers.org/incus/docs/main/server_config/).\n" + }, + "remote": { + "type": "string", + "description": "*Optional* - The remote in which the resource will be created. If\nnot provided, the provider's default remote will be used.\n" + }, + "target": { + "type": "string", + "description": "*Optional* - Specify a target node in a cluster where the config\noptions should be applied. This is in particular important for config options\nwith \u003cspan pulumi-lang-nodejs=\"`local`\" pulumi-lang-dotnet=\"`Local`\" pulumi-lang-go=\"`local`\" pulumi-lang-python=\"`local`\" pulumi-lang-yaml=\"`local`\" pulumi-lang-java=\"`local`\"\u003e`local`\u003c/span\u003e scope.\n" + } + }, + "stateInputs": { + "description": "Input properties used for looking up and filtering Server resources.\n", + "properties": { + "config": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "*Optional* - Map of key/value pairs of\n[server config settings](https://linuxcontainers.org/incus/docs/main/server_config/).\n" + }, + "remote": { + "type": "string", + "description": "*Optional* - The remote in which the resource will be created. If\nnot provided, the provider's default remote will be used.\n" + }, + "target": { + "type": "string", + "description": "*Optional* - Specify a target node in a cluster where the config\noptions should be applied. This is in particular important for config options\nwith \u003cspan pulumi-lang-nodejs=\"`local`\" pulumi-lang-dotnet=\"`Local`\" pulumi-lang-go=\"`local`\" pulumi-lang-python=\"`local`\" pulumi-lang-yaml=\"`local`\" pulumi-lang-java=\"`local`\"\u003e`local`\u003c/span\u003e scope.\n" + } + }, + "type": "object" + } + }, "incus:index/storageBucket:StorageBucket": { "properties": { "config": { @@ -2784,6 +3343,7 @@ } }, "requiredInputs": [ + "name", "pool" ], "stateInputs": { @@ -2917,6 +3477,7 @@ } }, "requiredInputs": [ + "name", "pool", "storageBucket" ], @@ -2977,11 +3538,11 @@ }, "description": { "type": "string", - "description": "*Optional* - Description of the storage pool.\n" + "description": "*Optional* - Description of the storage pool. \u003cspan pulumi-lang-nodejs=\"`description`\" pulumi-lang-dotnet=\"`Description`\" pulumi-lang-go=\"`description`\" pulumi-lang-python=\"`description`\" pulumi-lang-yaml=\"`description`\" pulumi-lang-java=\"`description`\"\u003e`description`\u003c/span\u003e is mutual exclusive with \u003cspan pulumi-lang-nodejs=\"`target`\" pulumi-lang-dotnet=\"`Target`\" pulumi-lang-go=\"`target`\" pulumi-lang-python=\"`target`\" pulumi-lang-yaml=\"`target`\" pulumi-lang-java=\"`target`\"\u003e`target`\u003c/span\u003e. The \u003cspan pulumi-lang-nodejs=\"`description`\" pulumi-lang-dotnet=\"`Description`\" pulumi-lang-go=\"`description`\" pulumi-lang-python=\"`description`\" pulumi-lang-yaml=\"`description`\" pulumi-lang-java=\"`description`\"\u003e`description`\u003c/span\u003e can only be set on cluster level (with \u003cspan pulumi-lang-nodejs=\"`target`\" pulumi-lang-dotnet=\"`Target`\" pulumi-lang-go=\"`target`\" pulumi-lang-python=\"`target`\" pulumi-lang-yaml=\"`target`\" pulumi-lang-java=\"`target`\"\u003e`target`\u003c/span\u003e not set) or on non-clustered setups.\n" }, "driver": { "type": "string", - "description": "**Required** - Storage Pool driver. Must be one of `dir`, `zfs`, `lvm`, `btrfs`, `ceph`, `cephfs`, or `cephobject`.\n" + "description": "**Required** - Storage Pool driver. Must be one of \u003cspan pulumi-lang-nodejs=\"`dir`\" pulumi-lang-dotnet=\"`Dir`\" pulumi-lang-go=\"`dir`\" pulumi-lang-python=\"`dir`\" pulumi-lang-yaml=\"`dir`\" pulumi-lang-java=\"`dir`\"\u003e`dir`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`zfs`\" pulumi-lang-dotnet=\"`Zfs`\" pulumi-lang-go=\"`zfs`\" pulumi-lang-python=\"`zfs`\" pulumi-lang-yaml=\"`zfs`\" pulumi-lang-java=\"`zfs`\"\u003e`zfs`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`lvm`\" pulumi-lang-dotnet=\"`Lvm`\" pulumi-lang-go=\"`lvm`\" pulumi-lang-python=\"`lvm`\" pulumi-lang-yaml=\"`lvm`\" pulumi-lang-java=\"`lvm`\"\u003e`lvm`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`lvmcluster`\" pulumi-lang-dotnet=\"`Lvmcluster`\" pulumi-lang-go=\"`lvmcluster`\" pulumi-lang-python=\"`lvmcluster`\" pulumi-lang-yaml=\"`lvmcluster`\" pulumi-lang-java=\"`lvmcluster`\"\u003e`lvmcluster`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`btrfs`\" pulumi-lang-dotnet=\"`Btrfs`\" pulumi-lang-go=\"`btrfs`\" pulumi-lang-python=\"`btrfs`\" pulumi-lang-yaml=\"`btrfs`\" pulumi-lang-java=\"`btrfs`\"\u003e`btrfs`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ceph`\" pulumi-lang-dotnet=\"`Ceph`\" pulumi-lang-go=\"`ceph`\" pulumi-lang-python=\"`ceph`\" pulumi-lang-yaml=\"`ceph`\" pulumi-lang-java=\"`ceph`\"\u003e`ceph`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`cephfs`\" pulumi-lang-dotnet=\"`Cephfs`\" pulumi-lang-go=\"`cephfs`\" pulumi-lang-python=\"`cephfs`\" pulumi-lang-yaml=\"`cephfs`\" pulumi-lang-java=\"`cephfs`\"\u003e`cephfs`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`cephobject`\" pulumi-lang-dotnet=\"`Cephobject`\" pulumi-lang-go=\"`cephobject`\" pulumi-lang-python=\"`cephobject`\" pulumi-lang-yaml=\"`cephobject`\" pulumi-lang-java=\"`cephobject`\"\u003e`cephobject`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`linstor`\" pulumi-lang-dotnet=\"`Linstor`\" pulumi-lang-go=\"`linstor`\" pulumi-lang-python=\"`linstor`\" pulumi-lang-yaml=\"`linstor`\" pulumi-lang-java=\"`linstor`\"\u003e`linstor`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`truenas`\" pulumi-lang-dotnet=\"`Truenas`\" pulumi-lang-go=\"`truenas`\" pulumi-lang-python=\"`truenas`\" pulumi-lang-yaml=\"`truenas`\" pulumi-lang-java=\"`truenas`\"\u003e`truenas`\u003c/span\u003e.\n" }, "name": { "type": "string", @@ -3018,11 +3579,11 @@ }, "description": { "type": "string", - "description": "*Optional* - Description of the storage pool.\n" + "description": "*Optional* - Description of the storage pool. \u003cspan pulumi-lang-nodejs=\"`description`\" pulumi-lang-dotnet=\"`Description`\" pulumi-lang-go=\"`description`\" pulumi-lang-python=\"`description`\" pulumi-lang-yaml=\"`description`\" pulumi-lang-java=\"`description`\"\u003e`description`\u003c/span\u003e is mutual exclusive with \u003cspan pulumi-lang-nodejs=\"`target`\" pulumi-lang-dotnet=\"`Target`\" pulumi-lang-go=\"`target`\" pulumi-lang-python=\"`target`\" pulumi-lang-yaml=\"`target`\" pulumi-lang-java=\"`target`\"\u003e`target`\u003c/span\u003e. The \u003cspan pulumi-lang-nodejs=\"`description`\" pulumi-lang-dotnet=\"`Description`\" pulumi-lang-go=\"`description`\" pulumi-lang-python=\"`description`\" pulumi-lang-yaml=\"`description`\" pulumi-lang-java=\"`description`\"\u003e`description`\u003c/span\u003e can only be set on cluster level (with \u003cspan pulumi-lang-nodejs=\"`target`\" pulumi-lang-dotnet=\"`Target`\" pulumi-lang-go=\"`target`\" pulumi-lang-python=\"`target`\" pulumi-lang-yaml=\"`target`\" pulumi-lang-java=\"`target`\"\u003e`target`\u003c/span\u003e not set) or on non-clustered setups.\n" }, "driver": { "type": "string", - "description": "**Required** - Storage Pool driver. Must be one of `dir`, `zfs`, `lvm`, `btrfs`, `ceph`, `cephfs`, or `cephobject`.\n" + "description": "**Required** - Storage Pool driver. Must be one of \u003cspan pulumi-lang-nodejs=\"`dir`\" pulumi-lang-dotnet=\"`Dir`\" pulumi-lang-go=\"`dir`\" pulumi-lang-python=\"`dir`\" pulumi-lang-yaml=\"`dir`\" pulumi-lang-java=\"`dir`\"\u003e`dir`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`zfs`\" pulumi-lang-dotnet=\"`Zfs`\" pulumi-lang-go=\"`zfs`\" pulumi-lang-python=\"`zfs`\" pulumi-lang-yaml=\"`zfs`\" pulumi-lang-java=\"`zfs`\"\u003e`zfs`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`lvm`\" pulumi-lang-dotnet=\"`Lvm`\" pulumi-lang-go=\"`lvm`\" pulumi-lang-python=\"`lvm`\" pulumi-lang-yaml=\"`lvm`\" pulumi-lang-java=\"`lvm`\"\u003e`lvm`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`lvmcluster`\" pulumi-lang-dotnet=\"`Lvmcluster`\" pulumi-lang-go=\"`lvmcluster`\" pulumi-lang-python=\"`lvmcluster`\" pulumi-lang-yaml=\"`lvmcluster`\" pulumi-lang-java=\"`lvmcluster`\"\u003e`lvmcluster`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`btrfs`\" pulumi-lang-dotnet=\"`Btrfs`\" pulumi-lang-go=\"`btrfs`\" pulumi-lang-python=\"`btrfs`\" pulumi-lang-yaml=\"`btrfs`\" pulumi-lang-java=\"`btrfs`\"\u003e`btrfs`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ceph`\" pulumi-lang-dotnet=\"`Ceph`\" pulumi-lang-go=\"`ceph`\" pulumi-lang-python=\"`ceph`\" pulumi-lang-yaml=\"`ceph`\" pulumi-lang-java=\"`ceph`\"\u003e`ceph`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`cephfs`\" pulumi-lang-dotnet=\"`Cephfs`\" pulumi-lang-go=\"`cephfs`\" pulumi-lang-python=\"`cephfs`\" pulumi-lang-yaml=\"`cephfs`\" pulumi-lang-java=\"`cephfs`\"\u003e`cephfs`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`cephobject`\" pulumi-lang-dotnet=\"`Cephobject`\" pulumi-lang-go=\"`cephobject`\" pulumi-lang-python=\"`cephobject`\" pulumi-lang-yaml=\"`cephobject`\" pulumi-lang-java=\"`cephobject`\"\u003e`cephobject`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`linstor`\" pulumi-lang-dotnet=\"`Linstor`\" pulumi-lang-go=\"`linstor`\" pulumi-lang-python=\"`linstor`\" pulumi-lang-yaml=\"`linstor`\" pulumi-lang-java=\"`linstor`\"\u003e`linstor`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`truenas`\" pulumi-lang-dotnet=\"`Truenas`\" pulumi-lang-go=\"`truenas`\" pulumi-lang-python=\"`truenas`\" pulumi-lang-yaml=\"`truenas`\" pulumi-lang-java=\"`truenas`\"\u003e`truenas`\u003c/span\u003e.\n" }, "name": { "type": "string", @@ -3043,7 +3604,8 @@ } }, "requiredInputs": [ - "driver" + "driver", + "name" ], "stateInputs": { "description": "Input properties used for looking up and filtering StoragePool resources.\n", @@ -3057,11 +3619,11 @@ }, "description": { "type": "string", - "description": "*Optional* - Description of the storage pool.\n" + "description": "*Optional* - Description of the storage pool. \u003cspan pulumi-lang-nodejs=\"`description`\" pulumi-lang-dotnet=\"`Description`\" pulumi-lang-go=\"`description`\" pulumi-lang-python=\"`description`\" pulumi-lang-yaml=\"`description`\" pulumi-lang-java=\"`description`\"\u003e`description`\u003c/span\u003e is mutual exclusive with \u003cspan pulumi-lang-nodejs=\"`target`\" pulumi-lang-dotnet=\"`Target`\" pulumi-lang-go=\"`target`\" pulumi-lang-python=\"`target`\" pulumi-lang-yaml=\"`target`\" pulumi-lang-java=\"`target`\"\u003e`target`\u003c/span\u003e. The \u003cspan pulumi-lang-nodejs=\"`description`\" pulumi-lang-dotnet=\"`Description`\" pulumi-lang-go=\"`description`\" pulumi-lang-python=\"`description`\" pulumi-lang-yaml=\"`description`\" pulumi-lang-java=\"`description`\"\u003e`description`\u003c/span\u003e can only be set on cluster level (with \u003cspan pulumi-lang-nodejs=\"`target`\" pulumi-lang-dotnet=\"`Target`\" pulumi-lang-go=\"`target`\" pulumi-lang-python=\"`target`\" pulumi-lang-yaml=\"`target`\" pulumi-lang-java=\"`target`\"\u003e`target`\u003c/span\u003e not set) or on non-clustered setups.\n" }, "driver": { "type": "string", - "description": "**Required** - Storage Pool driver. Must be one of `dir`, `zfs`, `lvm`, `btrfs`, `ceph`, `cephfs`, or `cephobject`.\n" + "description": "**Required** - Storage Pool driver. Must be one of \u003cspan pulumi-lang-nodejs=\"`dir`\" pulumi-lang-dotnet=\"`Dir`\" pulumi-lang-go=\"`dir`\" pulumi-lang-python=\"`dir`\" pulumi-lang-yaml=\"`dir`\" pulumi-lang-java=\"`dir`\"\u003e`dir`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`zfs`\" pulumi-lang-dotnet=\"`Zfs`\" pulumi-lang-go=\"`zfs`\" pulumi-lang-python=\"`zfs`\" pulumi-lang-yaml=\"`zfs`\" pulumi-lang-java=\"`zfs`\"\u003e`zfs`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`lvm`\" pulumi-lang-dotnet=\"`Lvm`\" pulumi-lang-go=\"`lvm`\" pulumi-lang-python=\"`lvm`\" pulumi-lang-yaml=\"`lvm`\" pulumi-lang-java=\"`lvm`\"\u003e`lvm`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`lvmcluster`\" pulumi-lang-dotnet=\"`Lvmcluster`\" pulumi-lang-go=\"`lvmcluster`\" pulumi-lang-python=\"`lvmcluster`\" pulumi-lang-yaml=\"`lvmcluster`\" pulumi-lang-java=\"`lvmcluster`\"\u003e`lvmcluster`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`btrfs`\" pulumi-lang-dotnet=\"`Btrfs`\" pulumi-lang-go=\"`btrfs`\" pulumi-lang-python=\"`btrfs`\" pulumi-lang-yaml=\"`btrfs`\" pulumi-lang-java=\"`btrfs`\"\u003e`btrfs`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ceph`\" pulumi-lang-dotnet=\"`Ceph`\" pulumi-lang-go=\"`ceph`\" pulumi-lang-python=\"`ceph`\" pulumi-lang-yaml=\"`ceph`\" pulumi-lang-java=\"`ceph`\"\u003e`ceph`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`cephfs`\" pulumi-lang-dotnet=\"`Cephfs`\" pulumi-lang-go=\"`cephfs`\" pulumi-lang-python=\"`cephfs`\" pulumi-lang-yaml=\"`cephfs`\" pulumi-lang-java=\"`cephfs`\"\u003e`cephfs`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`cephobject`\" pulumi-lang-dotnet=\"`Cephobject`\" pulumi-lang-go=\"`cephobject`\" pulumi-lang-python=\"`cephobject`\" pulumi-lang-yaml=\"`cephobject`\" pulumi-lang-java=\"`cephobject`\"\u003e`cephobject`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`linstor`\" pulumi-lang-dotnet=\"`Linstor`\" pulumi-lang-go=\"`linstor`\" pulumi-lang-python=\"`linstor`\" pulumi-lang-yaml=\"`linstor`\" pulumi-lang-java=\"`linstor`\"\u003e`linstor`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`truenas`\" pulumi-lang-dotnet=\"`Truenas`\" pulumi-lang-go=\"`truenas`\" pulumi-lang-python=\"`truenas`\" pulumi-lang-yaml=\"`truenas`\" pulumi-lang-java=\"`truenas`\"\u003e`truenas`\u003c/span\u003e.\n" }, "name": { "type": "string", @@ -3095,7 +3657,7 @@ }, "contentType": { "type": "string", - "description": "*Optional* - Volume content type (`filesystem` or `block`)\n" + "description": "*Optional* - Volume content type (\u003cspan pulumi-lang-nodejs=\"`filesystem`\" pulumi-lang-dotnet=\"`Filesystem`\" pulumi-lang-go=\"`filesystem`\" pulumi-lang-python=\"`filesystem`\" pulumi-lang-yaml=\"`filesystem`\" pulumi-lang-java=\"`filesystem`\"\u003e`filesystem`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`block`\" pulumi-lang-dotnet=\"`Block`\" pulumi-lang-go=\"`block`\" pulumi-lang-python=\"`block`\" pulumi-lang-yaml=\"`block`\" pulumi-lang-java=\"`block`\"\u003e`block`\u003c/span\u003e)\n" }, "description": { "type": "string", @@ -3136,7 +3698,7 @@ }, "type": { "type": "string", - "description": "*Optional* - The \"type\" of volume. The default value is `custom`,\nwhich is the type to use for storage volumes attached to instances.\n" + "description": "*Optional* - The \"type\" of volume. The default value is \u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\"\u003e`custom`\u003c/span\u003e,\nwhich is the type to use for storage volumes attached to instances.\n" } }, "required": [ @@ -3160,7 +3722,7 @@ }, "contentType": { "type": "string", - "description": "*Optional* - Volume content type (`filesystem` or `block`)\n" + "description": "*Optional* - Volume content type (\u003cspan pulumi-lang-nodejs=\"`filesystem`\" pulumi-lang-dotnet=\"`Filesystem`\" pulumi-lang-go=\"`filesystem`\" pulumi-lang-python=\"`filesystem`\" pulumi-lang-yaml=\"`filesystem`\" pulumi-lang-java=\"`filesystem`\"\u003e`filesystem`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`block`\" pulumi-lang-dotnet=\"`Block`\" pulumi-lang-go=\"`block`\" pulumi-lang-python=\"`block`\" pulumi-lang-yaml=\"`block`\" pulumi-lang-java=\"`block`\"\u003e`block`\u003c/span\u003e)\n" }, "description": { "type": "string", @@ -3197,10 +3759,11 @@ }, "type": { "type": "string", - "description": "*Optional* - The \"type\" of volume. The default value is `custom`,\nwhich is the type to use for storage volumes attached to instances.\n" + "description": "*Optional* - The \"type\" of volume. The default value is \u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\"\u003e`custom`\u003c/span\u003e,\nwhich is the type to use for storage volumes attached to instances.\n" } }, "requiredInputs": [ + "name", "pool" ], "stateInputs": { @@ -3215,7 +3778,7 @@ }, "contentType": { "type": "string", - "description": "*Optional* - Volume content type (`filesystem` or `block`)\n" + "description": "*Optional* - Volume content type (\u003cspan pulumi-lang-nodejs=\"`filesystem`\" pulumi-lang-dotnet=\"`Filesystem`\" pulumi-lang-go=\"`filesystem`\" pulumi-lang-python=\"`filesystem`\" pulumi-lang-yaml=\"`filesystem`\" pulumi-lang-java=\"`filesystem`\"\u003e`filesystem`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`block`\" pulumi-lang-dotnet=\"`Block`\" pulumi-lang-go=\"`block`\" pulumi-lang-python=\"`block`\" pulumi-lang-yaml=\"`block`\" pulumi-lang-java=\"`block`\"\u003e`block`\u003c/span\u003e)\n" }, "description": { "type": "string", @@ -3256,7 +3819,7 @@ }, "type": { "type": "string", - "description": "*Optional* - The \"type\" of volume. The default value is `custom`,\nwhich is the type to use for storage volumes attached to instances.\n" + "description": "*Optional* - The \"type\" of volume. The default value is \u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\"\u003e`custom`\u003c/span\u003e,\nwhich is the type to use for storage volumes attached to instances.\n" } }, "type": "object" @@ -3264,8 +3827,50 @@ } }, "functions": { + "incus:index/getCluster:getCluster": { + "description": "## #\u003cspan pulumi-lang-nodejs=\" incus.getCluster\n\" pulumi-lang-dotnet=\" incus.getCluster\n\" pulumi-lang-go=\" getCluster\n\" pulumi-lang-python=\" get_cluster\n\" pulumi-lang-yaml=\" incus.getCluster\n\" pulumi-lang-java=\" incus.getCluster\n\"\u003e incus.getCluster\n\u003c/span\u003e\nProvides information about an Incus cluster.\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 _this = incus.getCluster({});\n```\n```python\nimport pulumi\nimport pulumi_incus as incus\n\nthis = incus.get_cluster()\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 = Incus.GetCluster.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"git.kalinow.ski/kiterun/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.GetCluster(ctx, \u0026incus.GetClusterArgs{}, nil)\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.GetClusterArgs;\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 this = IncusFunctions.getCluster(GetClusterArgs.builder()\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n this:\n fn::invoke:\n function: incus:getCluster\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Example prevent execution if any cluster member is not online\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as incus from \"@kiterun/incus\";\n\nconst _this = incus.getCluster({\n remote: \"cluster\",\n});\n```\n```python\nimport pulumi\nimport pulumi_incus as incus\n\nthis = incus.get_cluster(remote=\"cluster\")\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 = Incus.GetCluster.Invoke(new()\n {\n Remote = \"cluster\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"git.kalinow.ski/kiterun/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.GetCluster(ctx, \u0026incus.GetClusterArgs{\n\t\t\tRemote: pulumi.StringRef(\"cluster\"),\n\t\t}, nil)\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.GetClusterArgs;\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 this = IncusFunctions.getCluster(GetClusterArgs.builder()\n .remote(\"cluster\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n this:\n fn::invoke:\n function: incus:getCluster\n arguments:\n remote: cluster\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Example create resource for each cluster member\n\nIn this example, we define the server configuration [`core.bgp_address`](https://linuxcontainers.org/incus/docs/main/server_config/#core-configuration),\n which has scope \u003cspan pulumi-lang-nodejs=\"`local`\" pulumi-lang-dotnet=\"`Local`\" pulumi-lang-go=\"`local`\" pulumi-lang-python=\"`local`\" pulumi-lang-yaml=\"`local`\" pulumi-lang-java=\"`local`\"\u003e`local`\u003c/span\u003e, on each cluster member.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as incus from \"@kiterun/incus\";\n\nexport = async () =\u003e {\n const _this = await incus.getCluster({});\n const nodes: incus.Server[] = [];\n for (const range of Object.entries(_this.members).map(([k, v]) =\u003e ({key: k, value: v}))) {\n nodes.push(new incus.Server(`nodes-${range.key}`, {\n target: _this.isClustered ? range.key : null,\n config: {\n \"core.bgp_address\": \":179\",\n },\n }));\n }\n}\n```\n```python\nimport pulumi\nimport pulumi_incus as incus\n\nthis = incus.get_cluster()\nnodes = []\nfor range in [{\"key\": k, \"value\": v} for [k, v] in enumerate(this.members)]:\n nodes.append(incus.Server(f\"nodes-{range['key']}\",\n target=range[\"key\"] if this.is_clustered else None,\n config={\n \"core.bgp_address\": \":179\",\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Threading.Tasks;\nusing Pulumi;\nusing Incus = Pulumi.Incus;\n\nreturn await Deployment.RunAsync(async() =\u003e \n{\n var @this = await Incus.GetCluster.InvokeAsync();\n\n var nodes = new List\u003cIncus.Server\u003e();\n foreach (var range in )\n {\n nodes.Add(new Incus.Server($\"nodes-{range.Key}\", new()\n {\n Target = @this.IsClustered ? range.Key : null,\n Config = \n {\n { \"core.bgp_address\", \":179\" },\n },\n }));\n }\n});\n```\n```go\npackage main\n\nimport (\n\t\"git.kalinow.ski/kiterun/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\tthis, err := incus.GetCluster(ctx, \u0026incus.GetClusterArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar tmp0 pulumi.String\n\t\tif this.IsClustered {\n\t\t\ttmp0 = pulumi.String(key0)\n\t\t} else {\n\t\t\ttmp0 = nil\n\t\t}\n\t\tvar nodes []*incus.Server\n\t\tfor key0, _ := range this.Members {\n\t\t\t__res, err := incus.NewServer(ctx, fmt.Sprintf(\"nodes-%v\", key0), \u0026incus.ServerArgs{\n\t\t\t\tTarget: pulumi.String(tmp0),\n\t\t\t\tConfig: pulumi.StringMap{\n\t\t\t\t\t\"core.bgp_address\": pulumi.String(\":179\"),\n\t\t\t\t},\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tnodes = append(nodes, __res)\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.GetClusterArgs;\nimport com.pulumi.incus.Server;\nimport com.pulumi.incus.ServerArgs;\nimport com.pulumi.codegen.internal.KeyedValue;\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 this = IncusFunctions.getCluster(GetClusterArgs.builder()\n .build());\n\n final var nodes = this.applyValue(getClusterResult -\u003e {\n final var resources = new ArrayList\u003cServer\u003e();\n for (var range : KeyedValue.of(getClusterResult.members())) {\n var resource = new Server(\"nodes-\" + range.key(), ServerArgs.builder()\n .target(this_.isClustered() ? range.key() : null)\n .config(Map.of(\"core.bgp_address\", \":179\"))\n .build());\n\n resources.add(resource);\n }\n\n return resources;\n });\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Notes\n\n* For non-clustered setups, the \u003cspan pulumi-lang-nodejs=\"`members`\" pulumi-lang-dotnet=\"`Members`\" pulumi-lang-go=\"`members`\" pulumi-lang-python=\"`members`\" pulumi-lang-yaml=\"`members`\" pulumi-lang-java=\"`members`\"\u003e`members`\u003c/span\u003e attribute will be \u003cspan pulumi-lang-nodejs=\"`null`\" pulumi-lang-dotnet=\"`Null`\" pulumi-lang-go=\"`null`\" pulumi-lang-python=\"`null`\" pulumi-lang-yaml=\"`null`\" pulumi-lang-java=\"`null`\"\u003e`null`\u003c/span\u003e.\n", + "inputs": { + "description": "A collection of arguments for invoking getCluster.\n", + "properties": { + "remote": { + "type": "string", + "description": "*Optional* - The remote for which the Incus cluster information\nshould be queried. If not provided, the provider's default remote will be used.\n" + } + }, + "type": "object" + }, + "outputs": { + "description": "A collection of values returned by getCluster.\n", + "properties": { + "id": { + "description": "The provider-assigned unique ID for this managed resource.", + "type": "string" + }, + "isClustered": { + "description": "Whether this is a clustered setup.\n", + "type": "boolean" + }, + "members": { + "additionalProperties": { + "$ref": "#/types/incus:index/getClusterMembers:getClusterMembers" + }, + "description": "A map of cluster members. The key is the member name and the value\nis a member object. See reference below.\n", + "type": "object" + }, + "remote": { + "type": "string" + } + }, + "required": [ + "isClustered", + "members", + "id" + ], + "type": "object" + } + }, "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\"git.kalinow.ski/kiterun/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": "## #\u003cspan pulumi-lang-nodejs=\" incus.Image\n\" pulumi-lang-dotnet=\" incus.Image\n\" pulumi-lang-go=\" Image\n\" pulumi-lang-python=\" Image\n\" pulumi-lang-yaml=\" incus.Image\n\" pulumi-lang-java=\" incus.Image\n\"\u003e incus.Image\n\u003c/span\u003e\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\";\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/kiterun/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": { @@ -3291,7 +3896,7 @@ }, "type": { "type": "string", - "description": "*Optional* - Type of image. Must be one of `container` or `virtual-machine`.\n" + "description": "*Optional* - Type of image. Must be one of \u003cspan pulumi-lang-nodejs=\"`container`\" pulumi-lang-dotnet=\"`Container`\" pulumi-lang-go=\"`container`\" pulumi-lang-python=\"`container`\" pulumi-lang-yaml=\"`container`\" pulumi-lang-java=\"`container`\"\u003e`container`\u003c/span\u003e or `virtual-machine`.\n" } }, "type": "object" @@ -3317,7 +3922,7 @@ "type": "string" }, "id": { - "description": "The provider-assigned unique ID for this managed resource.\n", + "description": "The provider-assigned unique ID for this managed resource.", "type": "string" }, "name": { @@ -3344,17 +3949,919 @@ "type": "object" } }, + "incus:index/getInstance:getInstance": { + "description": "## #\u003cspan pulumi-lang-nodejs=\" incus.Instance\n\" pulumi-lang-dotnet=\" incus.Instance\n\" pulumi-lang-go=\" Instance\n\" pulumi-lang-python=\" Instance\n\" pulumi-lang-yaml=\" incus.Instance\n\" pulumi-lang-java=\" incus.Instance\n\"\u003e incus.Instance\n\u003c/span\u003e\nProvides information about an Incus instance.\nSee Incus instance [configuration reference](https://linuxcontainers.org/incus/docs/main/explanation/instance_config/) for more details.\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 _this = incus.getInstance({\n name: \"default\",\n});\nexport const instanceName = _this.then(_this =\u003e _this.name);\n```\n```python\nimport pulumi\nimport pulumi_incus as incus\n\nthis = incus.get_instance(name=\"default\")\npulumi.export(\"instanceName\", this.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 @this = Incus.GetInstance.Invoke(new()\n {\n Name = \"default\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"instanceName\"] = @this.Apply(@this =\u003e @this.Apply(getInstanceResult =\u003e getInstanceResult.Name)),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"git.kalinow.ski/kiterun/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\tthis, err := incus.LookupInstance(ctx, \u0026incus.LookupInstanceArgs{\n\t\t\tName: \"default\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"instanceName\", this.Name)\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.GetInstanceArgs;\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 this = IncusFunctions.getInstance(GetInstanceArgs.builder()\n .name(\"default\")\n .build());\n\n ctx.export(\"instanceName\", this_.name());\n }\n}\n```\n```yaml\nvariables:\n this:\n fn::invoke:\n function: incus:getInstance\n arguments:\n name: default\noutputs:\n instanceName: ${this.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "inputs": { + "description": "A collection of arguments for invoking getInstance.\n", + "properties": { + "architecture": { + "type": "string", + "description": "Architecture name.\n" + }, + "description": { + "type": "string", + "description": "Description of the instance.\n" + }, + "devices": { + "type": "array", + "items": { + "$ref": "#/types/incus:index/getInstanceDevice:getInstanceDevice" + }, + "description": "Device definitions. See reference below.\n" + }, + "ephemeral": { + "type": "boolean", + "description": "Whether the instance is ephemeral (deleted on shutdown).\n" + }, + "location": { + "type": "string", + "description": "Location of the instance.\n" + }, + "name": { + "type": "string", + "description": "**Required** - Name of the instance.\n" + }, + "profiles": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of profiles applied to the instance.\n" + }, + "project": { + "type": "string", + "description": "*Optional* - Name of the project where the instance is be stored.\n" + }, + "remote": { + "type": "string", + "description": "*Optional* - The remote in which the resource was created. If\nnot provided, the provider's default remote will be used.\n" + }, + "stateful": { + "type": "boolean", + "description": "Whether the instance is stateful.\n" + }, + "status": { + "type": "string", + "description": "Status of the instance.\n" + }, + "type": { + "type": "string", + "description": "Type of the device Must be one of none, disk, nic,\nunix-char, unix-block, usb, gpu, infiniband, proxy, unix-hotplug, tpm, pci.\n" + } + }, + "type": "object", + "required": [ + "name" + ] + }, + "outputs": { + "description": "A collection of values returned by getInstance.\n", + "properties": { + "architecture": { + "description": "Architecture name.\n", + "type": "string" + }, + "config": { + "additionalProperties": { + "type": "string" + }, + "description": "Map of key/value pairs of config settings.\n[instance config settings](https://linuxcontainers.org/incus/docs/main/reference/instance_options/)\n", + "type": "object" + }, + "description": { + "description": "Description of the instance.\n", + "type": "string" + }, + "devices": { + "description": "Device definitions. See reference below.\n", + "items": { + "$ref": "#/types/incus:index/getInstanceDevice:getInstanceDevice" + }, + "type": "array" + }, + "ephemeral": { + "description": "Whether the instance is ephemeral (deleted on shutdown).\n", + "type": "boolean" + }, + "id": { + "description": "The provider-assigned unique ID for this managed resource.", + "type": "string" + }, + "location": { + "description": "Location of the instance.\n", + "type": "string" + }, + "name": { + "description": "Name of the device.\n", + "type": "string" + }, + "profiles": { + "description": "List of profiles applied to the instance.\n", + "items": { + "type": "string" + }, + "type": "array" + }, + "project": { + "type": "string" + }, + "remote": { + "type": "string" + }, + "stateful": { + "description": "Whether the instance is stateful.\n", + "type": "boolean" + }, + "status": { + "description": "Status of the instance.\n", + "type": "string" + }, + "type": { + "description": "Type of the device Must be one of none, disk, nic,\nunix-char, unix-block, usb, gpu, infiniband, proxy, unix-hotplug, tpm, pci.\n", + "type": "string" + } + }, + "required": [ + "architecture", + "config", + "description", + "ephemeral", + "location", + "name", + "profiles", + "stateful", + "status", + "type", + "id" + ], + "type": "object" + } + }, + "incus:index/getNetwork:getNetwork": { + "description": "## #\u003cspan pulumi-lang-nodejs=\" incus.Network\n\" pulumi-lang-dotnet=\" incus.Network\n\" pulumi-lang-go=\" Network\n\" pulumi-lang-python=\" Network\n\" pulumi-lang-yaml=\" incus.Network\n\" pulumi-lang-java=\" incus.Network\n\"\u003e incus.Network\n\u003c/span\u003e\nProvides information about an Incus network.\nSee Incus network [configuration reference](https://linuxcontainers.org/incus/docs/main/explanation/networks/) for more details.\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 _this = incus.getNetwork({\n name: \"default\",\n});\nexport const networkName = _this.then(_this =\u003e _this.name);\n```\n```python\nimport pulumi\nimport pulumi_incus as incus\n\nthis = incus.get_network(name=\"default\")\npulumi.export(\"networkName\", this.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 @this = Incus.GetNetwork.Invoke(new()\n {\n Name = \"default\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"networkName\"] = @this.Apply(@this =\u003e @this.Apply(getNetworkResult =\u003e getNetworkResult.Name)),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"git.kalinow.ski/kiterun/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\tthis, err := incus.LookupNetwork(ctx, \u0026incus.LookupNetworkArgs{\n\t\t\tName: \"default\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"networkName\", this.Name)\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.GetNetworkArgs;\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 this = IncusFunctions.getNetwork(GetNetworkArgs.builder()\n .name(\"default\")\n .build());\n\n ctx.export(\"networkName\", this_.name());\n }\n}\n```\n```yaml\nvariables:\n this:\n fn::invoke:\n function: incus:getNetwork\n arguments:\n name: default\noutputs:\n networkName: ${this.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "inputs": { + "description": "A collection of arguments for invoking getNetwork.\n", + "properties": { + "description": { + "type": "string", + "description": "Description of the network.\n" + }, + "locations": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Locations of the network.\n" + }, + "managed": { + "type": "boolean", + "description": "Whether the network is managed by Incus.\n" + }, + "name": { + "type": "string", + "description": "**Required** - Name of the network.\n" + }, + "project": { + "type": "string", + "description": "*Optional* - Name of the project where the network is be stored.\n" + }, + "remote": { + "type": "string", + "description": "*Optional* - The remote in which the resource was created. If\nnot provided, the provider's default remote will be used.\n" + }, + "status": { + "type": "string", + "description": "Status of the network.\n" + }, + "target": { + "type": "string", + "description": "*Optional* - Specify a target node in a cluster.\n" + }, + "type": { + "type": "string", + "description": "Network type.\n[network type documentation](https://linuxcontainers.org/incus/docs/main/howto/network_create/#network-types)\n" + } + }, + "type": "object", + "required": [ + "name" + ] + }, + "outputs": { + "description": "A collection of values returned by getNetwork.\n", + "properties": { + "config": { + "additionalProperties": { + "type": "string" + }, + "description": "Map of key/value pairs of config settings.\n[network config settings](https://linuxcontainers.org/incus/docs/main/howto/network_create/#network-types)\n", + "type": "object" + }, + "description": { + "description": "Description of the network.\n", + "type": "string" + }, + "id": { + "description": "The provider-assigned unique ID for this managed resource.", + "type": "string" + }, + "locations": { + "description": "Locations of the network.\n", + "items": { + "type": "string" + }, + "type": "array" + }, + "managed": { + "description": "Whether the network is managed by Incus.\n", + "type": "boolean" + }, + "name": { + "type": "string" + }, + "project": { + "type": "string" + }, + "remote": { + "type": "string" + }, + "status": { + "description": "Status of the network.\n", + "type": "string" + }, + "target": { + "type": "string" + }, + "type": { + "description": "Network type.\n[network type documentation](https://linuxcontainers.org/incus/docs/main/howto/network_create/#network-types)\n", + "type": "string" + } + }, + "required": [ + "config", + "description", + "locations", + "managed", + "name", + "status", + "type", + "id" + ], + "type": "object" + } + }, + "incus:index/getNetworkAcl:getNetworkAcl": { + "description": "## #\u003cspan pulumi-lang-nodejs=\" incus.NetworkAcl\n\" pulumi-lang-dotnet=\" incus.NetworkAcl\n\" pulumi-lang-go=\" NetworkAcl\n\" pulumi-lang-python=\" NetworkAcl\n\" pulumi-lang-yaml=\" incus.NetworkAcl\n\" pulumi-lang-java=\" incus.NetworkAcl\n\"\u003e incus.NetworkAcl\n\u003c/span\u003e\nProvides information about an Incus network ACL.\nSee Incus network ACL [configuration reference](https://linuxcontainers.org/incus/docs/main/howto/network_acls/) for more details.\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 _this = incus.getNetworkAcl({\n name: \"default\",\n});\nexport const networkAclName = _this.then(_this =\u003e _this.name);\n```\n```python\nimport pulumi\nimport pulumi_incus as incus\n\nthis = incus.get_network_acl(name=\"default\")\npulumi.export(\"networkAclName\", this.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 @this = Incus.GetNetworkAcl.Invoke(new()\n {\n Name = \"default\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"networkAclName\"] = @this.Apply(@this =\u003e @this.Apply(getNetworkAclResult =\u003e getNetworkAclResult.Name)),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"git.kalinow.ski/kiterun/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\tthis, err := incus.LookupNetworkAcl(ctx, \u0026incus.LookupNetworkAclArgs{\n\t\t\tName: \"default\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"networkAclName\", this.Name)\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.GetNetworkAclArgs;\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 this = IncusFunctions.getNetworkAcl(GetNetworkAclArgs.builder()\n .name(\"default\")\n .build());\n\n ctx.export(\"networkAclName\", this_.name());\n }\n}\n```\n```yaml\nvariables:\n this:\n fn::invoke:\n function: incus:getNetworkAcl\n arguments:\n name: default\noutputs:\n networkAclName: ${this.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "inputs": { + "description": "A collection of arguments for invoking getNetworkAcl.\n", + "properties": { + "description": { + "type": "string", + "description": "Description of the rule.\n" + }, + "egresses": { + "type": "array", + "items": { + "$ref": "#/types/incus:index/getNetworkAclEgress:getNetworkAclEgress" + }, + "description": "List of egress rules.\n" + }, + "ingresses": { + "type": "array", + "items": { + "$ref": "#/types/incus:index/getNetworkAclIngress:getNetworkAclIngress" + }, + "description": "List of ingress rules.\n" + }, + "name": { + "type": "string", + "description": "**Required** - Name of the network ACL.\n" + }, + "project": { + "type": "string", + "description": "*Optional* - Name of the project where the network ACL is be stored.\n" + }, + "remote": { + "type": "string", + "description": "*Optional* - The remote in which the resource was created. If\nnot provided, the provider's default remote will be used.\n" + } + }, + "type": "object", + "required": [ + "name" + ] + }, + "outputs": { + "description": "A collection of values returned by getNetworkAcl.\n", + "properties": { + "config": { + "additionalProperties": { + "type": "string" + }, + "description": "Map of key/value pairs of config settings.\n", + "type": "object" + }, + "description": { + "description": "Description of the rule.\n", + "type": "string" + }, + "egresses": { + "description": "List of egress rules.\n", + "items": { + "$ref": "#/types/incus:index/getNetworkAclEgress:getNetworkAclEgress" + }, + "type": "array" + }, + "id": { + "description": "The provider-assigned unique ID for this managed resource.", + "type": "string" + }, + "ingresses": { + "description": "List of ingress rules.\n", + "items": { + "$ref": "#/types/incus:index/getNetworkAclIngress:getNetworkAclIngress" + }, + "type": "array" + }, + "name": { + "type": "string" + }, + "project": { + "type": "string" + }, + "remote": { + "type": "string" + } + }, + "required": [ + "config", + "description", + "egresses", + "ingresses", + "name", + "id" + ], + "type": "object" + } + }, + "incus:index/getNetworkAddressSet:getNetworkAddressSet": { + "description": "## #\u003cspan pulumi-lang-nodejs=\" incus.NetworkAddressSet\n\" pulumi-lang-dotnet=\" incus.NetworkAddressSet\n\" pulumi-lang-go=\" NetworkAddressSet\n\" pulumi-lang-python=\" NetworkAddressSet\n\" pulumi-lang-yaml=\" incus.NetworkAddressSet\n\" pulumi-lang-java=\" incus.NetworkAddressSet\n\"\u003e incus.NetworkAddressSet\n\u003c/span\u003e\nProvides information about an Incus network address set.\nSee Incus network address set [configuration reference](https://linuxcontainers.org/incus/docs/main/howto/network_address_sets/) for more details.\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 _this = incus.getNetworkAddressSet({\n name: \"default\",\n});\nexport const networkAddressSetName = _this.then(_this =\u003e _this.name);\n```\n```python\nimport pulumi\nimport pulumi_incus as incus\n\nthis = incus.get_network_address_set(name=\"default\")\npulumi.export(\"networkAddressSetName\", this.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 @this = Incus.GetNetworkAddressSet.Invoke(new()\n {\n Name = \"default\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"networkAddressSetName\"] = @this.Apply(@this =\u003e @this.Apply(getNetworkAddressSetResult =\u003e getNetworkAddressSetResult.Name)),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"git.kalinow.ski/kiterun/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\tthis, err := incus.LookupNetworkAddressSet(ctx, \u0026incus.LookupNetworkAddressSetArgs{\n\t\t\tName: \"default\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"networkAddressSetName\", this.Name)\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.GetNetworkAddressSetArgs;\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 this = IncusFunctions.getNetworkAddressSet(GetNetworkAddressSetArgs.builder()\n .name(\"default\")\n .build());\n\n ctx.export(\"networkAddressSetName\", this_.name());\n }\n}\n```\n```yaml\nvariables:\n this:\n fn::invoke:\n function: incus:getNetworkAddressSet\n arguments:\n name: default\noutputs:\n networkAddressSetName: ${this.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "inputs": { + "description": "A collection of arguments for invoking getNetworkAddressSet.\n", + "properties": { + "addresses": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of network addresses.\n" + }, + "description": { + "type": "string", + "description": "Description of the network address set.\n" + }, + "name": { + "type": "string", + "description": "**Required** - Name of the network address set.\n" + }, + "project": { + "type": "string", + "description": "*Optional* - Name of the project where the network address set is be stored.\n" + }, + "remote": { + "type": "string", + "description": "*Optional* - The remote in which the resource was created. If\nnot provided, the provider's default remote will be used.\n" + } + }, + "type": "object", + "required": [ + "name" + ] + }, + "outputs": { + "description": "A collection of values returned by getNetworkAddressSet.\n", + "properties": { + "addresses": { + "description": "List of network addresses.\n", + "items": { + "type": "string" + }, + "type": "array" + }, + "config": { + "additionalProperties": { + "type": "string" + }, + "description": "Map of key/value pairs of config settings.\n", + "type": "object" + }, + "description": { + "description": "Description of the network address set.\n", + "type": "string" + }, + "id": { + "description": "The provider-assigned unique ID for this managed resource.", + "type": "string" + }, + "name": { + "type": "string" + }, + "project": { + "type": "string" + }, + "remote": { + "type": "string" + } + }, + "required": [ + "addresses", + "config", + "description", + "name", + "id" + ], + "type": "object" + } + }, + "incus:index/getNetworkForward:getNetworkForward": { + "description": "## #\u003cspan pulumi-lang-nodejs=\" incus.NetworkForward\n\" pulumi-lang-dotnet=\" incus.NetworkForward\n\" pulumi-lang-go=\" NetworkForward\n\" pulumi-lang-python=\" NetworkForward\n\" pulumi-lang-yaml=\" incus.NetworkForward\n\" pulumi-lang-java=\" incus.NetworkForward\n\"\u003e incus.NetworkForward\n\u003c/span\u003e\nProvides information about an Incus network forward.\nSee Incus network forward [configuration reference](https://linuxcontainers.org/incus/docs/main/howto/network_forwards/) for more details.\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 _this = incus.getNetworkForward({\n listenAddress: \"127.0.0.1\",\n network: \"parent\",\n});\nexport const networkForwardListenAddress = _this.then(_this =\u003e _this.listenAddress);\n```\n```python\nimport pulumi\nimport pulumi_incus as incus\n\nthis = incus.get_network_forward(listen_address=\"127.0.0.1\",\n network=\"parent\")\npulumi.export(\"networkForwardListenAddress\", this.listen_address)\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 = Incus.GetNetworkForward.Invoke(new()\n {\n ListenAddress = \"127.0.0.1\",\n Network = \"parent\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"networkForwardListenAddress\"] = @this.Apply(@this =\u003e @this.Apply(getNetworkForwardResult =\u003e getNetworkForwardResult.ListenAddress)),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"git.kalinow.ski/kiterun/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\tthis, err := incus.LookupNetworkForward(ctx, \u0026incus.LookupNetworkForwardArgs{\n\t\t\tListenAddress: \"127.0.0.1\",\n\t\t\tNetwork: \"parent\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"networkForwardListenAddress\", this.ListenAddress)\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.GetNetworkForwardArgs;\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 this = IncusFunctions.getNetworkForward(GetNetworkForwardArgs.builder()\n .listenAddress(\"127.0.0.1\")\n .network(\"parent\")\n .build());\n\n ctx.export(\"networkForwardListenAddress\", this_.listenAddress());\n }\n}\n```\n```yaml\nvariables:\n this:\n fn::invoke:\n function: incus:getNetworkForward\n arguments:\n listenAddress: 127.0.0.1\n network: parent\noutputs:\n networkForwardListenAddress: ${this.listenAddress}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "inputs": { + "description": "A collection of arguments for invoking getNetworkForward.\n", + "properties": { + "description": { + "type": "string", + "description": "Description of the forward port.\n" + }, + "listenAddress": { + "type": "string", + "description": "**Required** - Listen Address of the network forward.\n" + }, + "location": { + "type": "string", + "description": "Location of the network forward.\n" + }, + "network": { + "type": "string", + "description": "**Required** - Name of the parent network.\n" + }, + "ports": { + "type": "array", + "items": { + "$ref": "#/types/incus:index/getNetworkForwardPort:getNetworkForwardPort" + }, + "description": "List of ports to forward.\n" + }, + "project": { + "type": "string", + "description": "*Optional* - Name of the project where the network forward is be stored.\n" + }, + "remote": { + "type": "string", + "description": "*Optional* - The remote in which the resource was created. If\nnot provided, the provider's default remote will be used.\n" + }, + "target": { + "type": "string", + "description": "*Optional* - Specify a target node in a cluster.\n" + } + }, + "type": "object", + "required": [ + "listenAddress", + "network" + ] + }, + "outputs": { + "description": "A collection of values returned by getNetworkForward.\n", + "properties": { + "config": { + "additionalProperties": { + "type": "string" + }, + "description": "Map of key/value pairs of config settings.\n", + "type": "object" + }, + "description": { + "description": "Description of the forward port.\n", + "type": "string" + }, + "id": { + "description": "The provider-assigned unique ID for this managed resource.", + "type": "string" + }, + "listenAddress": { + "type": "string" + }, + "location": { + "description": "Location of the network forward.\n", + "type": "string" + }, + "network": { + "type": "string" + }, + "ports": { + "description": "List of ports to forward.\n", + "items": { + "$ref": "#/types/incus:index/getNetworkForwardPort:getNetworkForwardPort" + }, + "type": "array" + }, + "project": { + "type": "string" + }, + "remote": { + "type": "string" + }, + "target": { + "type": "string" + } + }, + "required": [ + "config", + "description", + "listenAddress", + "location", + "network", + "ports", + "id" + ], + "type": "object" + } + }, + "incus:index/getNetworkIntegration:getNetworkIntegration": { + "description": "## #\u003cspan pulumi-lang-nodejs=\" incus.NetworkIntegration\n\" pulumi-lang-dotnet=\" incus.NetworkIntegration\n\" pulumi-lang-go=\" NetworkIntegration\n\" pulumi-lang-python=\" NetworkIntegration\n\" pulumi-lang-yaml=\" incus.NetworkIntegration\n\" pulumi-lang-java=\" incus.NetworkIntegration\n\"\u003e incus.NetworkIntegration\n\u003c/span\u003e\nProvides information about an Incus network integration.\nSee Incus network integration [configuration reference](https://linuxcontainers.org/incus/docs/main/howto/network_integrations/) for more details.\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 _this = incus.getNetworkIntegration({\n name: \"default\",\n});\nexport const networkIntegrationName = _this.then(_this =\u003e _this.name);\n```\n```python\nimport pulumi\nimport pulumi_incus as incus\n\nthis = incus.get_network_integration(name=\"default\")\npulumi.export(\"networkIntegrationName\", this.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 @this = Incus.GetNetworkIntegration.Invoke(new()\n {\n Name = \"default\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"networkIntegrationName\"] = @this.Apply(@this =\u003e @this.Apply(getNetworkIntegrationResult =\u003e getNetworkIntegrationResult.Name)),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"git.kalinow.ski/kiterun/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\tthis, err := incus.LookupNetworkIntegration(ctx, \u0026incus.LookupNetworkIntegrationArgs{\n\t\t\tName: \"default\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"networkIntegrationName\", this.Name)\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.GetNetworkIntegrationArgs;\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 this = IncusFunctions.getNetworkIntegration(GetNetworkIntegrationArgs.builder()\n .name(\"default\")\n .build());\n\n ctx.export(\"networkIntegrationName\", this_.name());\n }\n}\n```\n```yaml\nvariables:\n this:\n fn::invoke:\n function: incus:getNetworkIntegration\n arguments:\n name: default\noutputs:\n networkIntegrationName: ${this.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "inputs": { + "description": "A collection of arguments for invoking getNetworkIntegration.\n", + "properties": { + "description": { + "type": "string", + "description": "Description of the network integration.\n" + }, + "name": { + "type": "string", + "description": "**Required** - Name of the network integration.\n" + }, + "remote": { + "type": "string", + "description": "*Optional* - The remote in which the resource was created. If\nnot provided, the provider's default remote will be used.\n" + }, + "type": { + "type": "string", + "description": "Integration type.\n" + } + }, + "type": "object", + "required": [ + "name" + ] + }, + "outputs": { + "description": "A collection of values returned by getNetworkIntegration.\n", + "properties": { + "config": { + "additionalProperties": { + "type": "string" + }, + "description": "Map of key/value pairs of config settings.\n", + "type": "object" + }, + "description": { + "description": "Description of the network integration.\n", + "type": "string" + }, + "id": { + "description": "The provider-assigned unique ID for this managed resource.", + "type": "string" + }, + "name": { + "type": "string" + }, + "remote": { + "type": "string" + }, + "type": { + "description": "Integration type.\n", + "type": "string" + } + }, + "required": [ + "config", + "description", + "name", + "type", + "id" + ], + "type": "object" + } + }, + "incus:index/getNetworkLoadBalancer:getNetworkLoadBalancer": { + "description": "## #\u003cspan pulumi-lang-nodejs=\" incus.getNetworkLoadBalancer\n\" pulumi-lang-dotnet=\" incus.getNetworkLoadBalancer\n\" pulumi-lang-go=\" getNetworkLoadBalancer\n\" pulumi-lang-python=\" get_network_load_balancer\n\" pulumi-lang-yaml=\" incus.getNetworkLoadBalancer\n\" pulumi-lang-java=\" incus.getNetworkLoadBalancer\n\"\u003e incus.getNetworkLoadBalancer\n\u003c/span\u003e\nProvides information about an Incus network load balancer.\nSee Incus network load balancer [configuration reference](https://linuxcontainers.org/incus/docs/main/howto/network_load_balancers/) for more details.\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 _this = incus.getNetworkLoadBalancer({\n listenAddress: \"127.0.0.1\",\n network: \"parent\",\n});\nexport const networkLoadBalancerListenAddress = _this.then(_this =\u003e _this.listenAddress);\n```\n```python\nimport pulumi\nimport pulumi_incus as incus\n\nthis = incus.get_network_load_balancer(listen_address=\"127.0.0.1\",\n network=\"parent\")\npulumi.export(\"networkLoadBalancerListenAddress\", this.listen_address)\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 = Incus.GetNetworkLoadBalancer.Invoke(new()\n {\n ListenAddress = \"127.0.0.1\",\n Network = \"parent\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"networkLoadBalancerListenAddress\"] = @this.Apply(@this =\u003e @this.Apply(getNetworkLoadBalancerResult =\u003e getNetworkLoadBalancerResult.ListenAddress)),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"git.kalinow.ski/kiterun/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\tthis, err := incus.LookupNetworkLoadBalancer(ctx, \u0026incus.LookupNetworkLoadBalancerArgs{\n\t\t\tListenAddress: \"127.0.0.1\",\n\t\t\tNetwork: \"parent\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"networkLoadBalancerListenAddress\", this.ListenAddress)\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.GetNetworkLoadBalancerArgs;\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 this = IncusFunctions.getNetworkLoadBalancer(GetNetworkLoadBalancerArgs.builder()\n .listenAddress(\"127.0.0.1\")\n .network(\"parent\")\n .build());\n\n ctx.export(\"networkLoadBalancerListenAddress\", this_.listenAddress());\n }\n}\n```\n```yaml\nvariables:\n this:\n fn::invoke:\n function: incus:getNetworkLoadBalancer\n arguments:\n listenAddress: 127.0.0.1\n network: parent\noutputs:\n networkLoadBalancerListenAddress: ${this.listenAddress}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "inputs": { + "description": "A collection of arguments for invoking getNetworkLoadBalancer.\n", + "properties": { + "backends": { + "type": "array", + "items": { + "$ref": "#/types/incus:index/getNetworkLoadBalancerBackend:getNetworkLoadBalancerBackend" + }, + "description": "List of load balancer backends.\n" + }, + "description": { + "type": "string", + "description": "Description of the load balancer port.\n" + }, + "listenAddress": { + "type": "string", + "description": "**Required** - Listen Address of the network load balancer.\n" + }, + "location": { + "type": "string", + "description": "Location of the network load balancer.\n" + }, + "network": { + "type": "string", + "description": "**Required** - Name of the parent network.\n" + }, + "ports": { + "type": "array", + "items": { + "$ref": "#/types/incus:index/getNetworkLoadBalancerPort:getNetworkLoadBalancerPort" + }, + "description": "List of load balancer ports.\n" + }, + "project": { + "type": "string", + "description": "*Optional* - Name of the project where the network load balancer is be stored.\n" + }, + "remote": { + "type": "string", + "description": "*Optional* - The remote in which the resource was created. If\nnot provided, the provider's default remote will be used.\n" + } + }, + "type": "object", + "required": [ + "listenAddress", + "network" + ] + }, + "outputs": { + "description": "A collection of values returned by getNetworkLoadBalancer.\n", + "properties": { + "backends": { + "description": "List of load balancer backends.\n", + "items": { + "$ref": "#/types/incus:index/getNetworkLoadBalancerBackend:getNetworkLoadBalancerBackend" + }, + "type": "array" + }, + "config": { + "additionalProperties": { + "type": "string" + }, + "description": "Map of key/value pairs of config settings.\n", + "type": "object" + }, + "description": { + "description": "Description of the load balancer port.\n", + "type": "string" + }, + "id": { + "description": "The provider-assigned unique ID for this managed resource.", + "type": "string" + }, + "listenAddress": { + "type": "string" + }, + "location": { + "description": "Location of the network load balancer.\n", + "type": "string" + }, + "network": { + "type": "string" + }, + "ports": { + "description": "List of load balancer ports.\n", + "items": { + "$ref": "#/types/incus:index/getNetworkLoadBalancerPort:getNetworkLoadBalancerPort" + }, + "type": "array" + }, + "project": { + "type": "string" + }, + "remote": { + "type": "string" + } + }, + "required": [ + "backends", + "config", + "description", + "listenAddress", + "location", + "network", + "ports", + "id" + ], + "type": "object" + } + }, + "incus:index/getNetworkPeer:getNetworkPeer": { + "description": "## #\u003cspan pulumi-lang-nodejs=\" incus.NetworkPeer\n\" pulumi-lang-dotnet=\" incus.NetworkPeer\n\" pulumi-lang-go=\" NetworkPeer\n\" pulumi-lang-python=\" NetworkPeer\n\" pulumi-lang-yaml=\" incus.NetworkPeer\n\" pulumi-lang-java=\" incus.NetworkPeer\n\"\u003e incus.NetworkPeer\n\u003c/span\u003e\nProvides information about an Incus network peer.\nSee Incus network peer [configuration reference](https://linuxcontainers.org/incus/docs/main/howto/network_peers/https://linuxcontainers.org/incus/docs/main/howto/network_ovn_peers/) for more details.\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 _this = incus.getNetworkPeer({\n name: \"default\",\n network: \"parent\",\n});\nexport const networkPeerName = _this.then(_this =\u003e _this.name);\n```\n```python\nimport pulumi\nimport pulumi_incus as incus\n\nthis = incus.get_network_peer(name=\"default\",\n network=\"parent\")\npulumi.export(\"networkPeerName\", this.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 @this = Incus.GetNetworkPeer.Invoke(new()\n {\n Name = \"default\",\n Network = \"parent\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"networkPeerName\"] = @this.Apply(@this =\u003e @this.Apply(getNetworkPeerResult =\u003e getNetworkPeerResult.Name)),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"git.kalinow.ski/kiterun/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\tthis, err := incus.LookupNetworkPeer(ctx, \u0026incus.LookupNetworkPeerArgs{\n\t\t\tName: \"default\",\n\t\t\tNetwork: \"parent\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"networkPeerName\", this.Name)\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.GetNetworkPeerArgs;\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 this = IncusFunctions.getNetworkPeer(GetNetworkPeerArgs.builder()\n .name(\"default\")\n .network(\"parent\")\n .build());\n\n ctx.export(\"networkPeerName\", this_.name());\n }\n}\n```\n```yaml\nvariables:\n this:\n fn::invoke:\n function: incus:getNetworkPeer\n arguments:\n name: default\n network: parent\noutputs:\n networkPeerName: ${this.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "inputs": { + "description": "A collection of arguments for invoking getNetworkPeer.\n", + "properties": { + "description": { + "type": "string", + "description": "Description of the network peer.\n" + }, + "name": { + "type": "string", + "description": "**Required** - Name of the network peer.\n" + }, + "network": { + "type": "string", + "description": "**Required** - Name of the parent network.\n" + }, + "project": { + "type": "string", + "description": "*Optional* - Name of the project where the network peer is be stored.\n" + }, + "remote": { + "type": "string", + "description": "*Optional* - The remote in which the resource was created. If\nnot provided, the provider's default remote will be used.\n" + }, + "status": { + "type": "string", + "description": "Status of the network peer.\n" + }, + "targetIntegration": { + "type": "string", + "description": "Target integration for the network peer.\n" + }, + "targetNetwork": { + "type": "string", + "description": "Target network for the network peer.\n" + }, + "targetProject": { + "type": "string", + "description": "Target project for the network peer.\n" + }, + "type": { + "type": "string", + "description": "Network peer type.\n" + } + }, + "type": "object", + "required": [ + "name", + "network" + ] + }, + "outputs": { + "description": "A collection of values returned by getNetworkPeer.\n", + "properties": { + "config": { + "additionalProperties": { + "type": "string" + }, + "description": "Map of key/value pairs of config settings.\n", + "type": "object" + }, + "description": { + "description": "Description of the network peer.\n", + "type": "string" + }, + "id": { + "description": "The provider-assigned unique ID for this managed resource.", + "type": "string" + }, + "name": { + "type": "string" + }, + "network": { + "type": "string" + }, + "project": { + "type": "string" + }, + "remote": { + "type": "string" + }, + "status": { + "description": "Status of the network peer.\n", + "type": "string" + }, + "targetIntegration": { + "description": "Target integration for the network peer.\n", + "type": "string" + }, + "targetNetwork": { + "description": "Target network for the network peer.\n", + "type": "string" + }, + "targetProject": { + "description": "Target project for the network peer.\n", + "type": "string" + }, + "type": { + "description": "Network peer type.\n", + "type": "string" + } + }, + "required": [ + "config", + "description", + "name", + "network", + "status", + "targetIntegration", + "targetNetwork", + "targetProject", + "type", + "id" + ], + "type": "object" + } + }, + "incus:index/getNetworkZone:getNetworkZone": { + "description": "## #\u003cspan pulumi-lang-nodejs=\" incus.NetworkZone\n\" pulumi-lang-dotnet=\" incus.NetworkZone\n\" pulumi-lang-go=\" NetworkZone\n\" pulumi-lang-python=\" NetworkZone\n\" pulumi-lang-yaml=\" incus.NetworkZone\n\" pulumi-lang-java=\" incus.NetworkZone\n\"\u003e incus.NetworkZone\n\u003c/span\u003e\nProvides information about an Incus network zone.\nSee Incus network zone [configuration reference](https://linuxcontainers.org/incus/docs/main/howto/network_zones/) for more details.\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 _this = incus.getNetworkZone({\n name: \"default\",\n});\nexport const networkZoneName = _this.then(_this =\u003e _this.name);\n```\n```python\nimport pulumi\nimport pulumi_incus as incus\n\nthis = incus.get_network_zone(name=\"default\")\npulumi.export(\"networkZoneName\", this.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 @this = Incus.GetNetworkZone.Invoke(new()\n {\n Name = \"default\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"networkZoneName\"] = @this.Apply(@this =\u003e @this.Apply(getNetworkZoneResult =\u003e getNetworkZoneResult.Name)),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"git.kalinow.ski/kiterun/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\tthis, err := incus.LookupNetworkZone(ctx, \u0026incus.LookupNetworkZoneArgs{\n\t\t\tName: \"default\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"networkZoneName\", this.Name)\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.GetNetworkZoneArgs;\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 this = IncusFunctions.getNetworkZone(GetNetworkZoneArgs.builder()\n .name(\"default\")\n .build());\n\n ctx.export(\"networkZoneName\", this_.name());\n }\n}\n```\n```yaml\nvariables:\n this:\n fn::invoke:\n function: incus:getNetworkZone\n arguments:\n name: default\noutputs:\n networkZoneName: ${this.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "inputs": { + "description": "A collection of arguments for invoking getNetworkZone.\n", + "properties": { + "description": { + "type": "string", + "description": "Description of the network zone.\n" + }, + "name": { + "type": "string", + "description": "**Required** - Name of the network zone.\n" + }, + "project": { + "type": "string", + "description": "*Optional* - Name of the project where the network zone is be stored.\n" + }, + "remote": { + "type": "string", + "description": "*Optional* - The remote in which the resource was created. If\nnot provided, the provider's default remote will be used.\n" + } + }, + "type": "object", + "required": [ + "name" + ] + }, + "outputs": { + "description": "A collection of values returned by getNetworkZone.\n", + "properties": { + "config": { + "additionalProperties": { + "type": "string" + }, + "description": "Map of key/value pairs of config settings.\n", + "type": "object" + }, + "description": { + "description": "Description of the network zone.\n", + "type": "string" + }, + "id": { + "description": "The provider-assigned unique ID for this managed resource.", + "type": "string" + }, + "name": { + "type": "string" + }, + "project": { + "type": "string" + }, + "remote": { + "type": "string" + } + }, + "required": [ + "config", + "description", + "name", + "id" + ], + "type": "object" + } + }, "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\"git.kalinow.ski/kiterun/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": "## #\u003cspan pulumi-lang-nodejs=\" incus.Profile\n\" pulumi-lang-dotnet=\" incus.Profile\n\" pulumi-lang-go=\" Profile\n\" pulumi-lang-python=\" Profile\n\" pulumi-lang-yaml=\" incus.Profile\n\" pulumi-lang-java=\" incus.Profile\n\"\u003e incus.Profile\n\u003c/span\u003e\nProvides information about an Incus profile.\nSee Incus profile [configuration reference](https://linuxcontainers.org/incus/docs/main/profiles/) for more details.\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 _this = incus.getProfile({\n name: \"default\",\n});\nexport const profileName = _this.then(_this =\u003e _this.name);\n```\n```python\nimport pulumi\nimport pulumi_incus as incus\n\nthis = incus.get_profile(name=\"default\")\npulumi.export(\"profileName\", this.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 @this = Incus.GetProfile.Invoke(new()\n {\n Name = \"default\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"profileName\"] = @this.Apply(@this =\u003e @this.Apply(getProfileResult =\u003e getProfileResult.Name)),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"git.kalinow.ski/kiterun/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\tthis, 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\tctx.Export(\"profileName\", this.Name)\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 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 this = IncusFunctions.getProfile(GetProfileArgs.builder()\n .name(\"default\")\n .build());\n\n ctx.export(\"profileName\", this_.name());\n }\n}\n```\n```yaml\nvariables:\n this:\n fn::invoke:\n function: incus:getProfile\n arguments:\n name: default\noutputs:\n profileName: ${this.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getProfile.\n", "properties": { + "description": { + "type": "string", + "description": "Description of the profile.\n" + }, "devices": { "type": "array", "items": { "$ref": "#/types/incus:index/getProfileDevice:getProfileDevice" }, - "description": "Device definition. See reference below.\n" + "description": "Device definitions. See reference below.\n" }, "name": { "type": "string", @@ -3362,7 +4869,7 @@ }, "project": { "type": "string", - "description": "*Optional* - Name of the project where the profile will be stored.\n" + "description": "*Optional* - Name of the project where the profile is be stored.\n" }, "remote": { "type": "string", @@ -3381,21 +4888,22 @@ "additionalProperties": { "type": "string" }, - "description": "Map of key/value pairs of\n[instance config settings](https://linuxcontainers.org/incus/docs/main/reference/instance_options/).\n", + "description": "Map of key/value pairs of config settings.\n[instance config settings](https://linuxcontainers.org/incus/docs/main/reference/instance_options/)\n", "type": "object" }, "description": { + "description": "Description of the profile.\n", "type": "string" }, "devices": { - "description": "Device definition. See reference below.\n", + "description": "Device definitions. See reference below.\n", "items": { "$ref": "#/types/incus:index/getProfileDevice:getProfileDevice" }, "type": "array" }, "id": { - "description": "The provider-assigned unique ID for this managed resource.\n", + "description": "The provider-assigned unique ID for this managed resource.", "type": "string" }, "name": { @@ -3419,17 +4927,10 @@ } }, "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\"git.kalinow.ski/kiterun/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": "## #\u003cspan pulumi-lang-nodejs=\" incus.Project\n\" pulumi-lang-dotnet=\" incus.Project\n\" pulumi-lang-go=\" Project\n\" pulumi-lang-python=\" Project\n\" pulumi-lang-yaml=\" incus.Project\n\" pulumi-lang-java=\" incus.Project\n\"\u003e incus.Project\n\u003c/span\u003e\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\";\n\nconst _this = incus.getProject({\n name: \"default\",\n});\nexport const projectName = _this.then(_this =\u003e _this.name);\n```\n```python\nimport pulumi\nimport pulumi_incus as incus\n\nthis = incus.get_project(name=\"default\")\npulumi.export(\"projectName\", this.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 @this = Incus.GetProject.Invoke(new()\n {\n Name = \"default\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"projectName\"] = @this.Apply(@this =\u003e @this.Apply(getProjectResult =\u003e getProjectResult.Name)),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"git.kalinow.ski/kiterun/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\tthis, 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\tctx.Export(\"projectName\", this.Name)\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 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 this = IncusFunctions.getProject(GetProjectArgs.builder()\n .name(\"default\")\n .build());\n\n ctx.export(\"projectName\", this_.name());\n }\n}\n```\n```yaml\nvariables:\n this:\n fn::invoke:\n function: incus:getProject\n arguments:\n name: default\noutputs:\n projectName: ${this.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getProject.\n", "properties": { - "config": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Map of key/value pairs of\n[instance config settings](https://linuxcontainers.org/incus/docs/main/reference/instance_options/).\n" - }, "description": { "type": "string", "description": "Description of the project.\n" @@ -3455,7 +4956,7 @@ "additionalProperties": { "type": "string" }, - "description": "Map of key/value pairs of\n[instance config settings](https://linuxcontainers.org/incus/docs/main/reference/instance_options/).\n", + "description": "Map of key/value pairs of config settings.\n[instance config settings](https://linuxcontainers.org/incus/docs/main/reference/instance_options/)\n", "type": "object" }, "description": { @@ -3463,7 +4964,7 @@ "type": "string" }, "id": { - "description": "The provider-assigned unique ID for this managed resource.\n", + "description": "The provider-assigned unique ID for this managed resource.", "type": "string" }, "name": { @@ -3481,6 +4982,322 @@ ], "type": "object" } + }, + "incus:index/getStorageBucket:getStorageBucket": { + "description": "## #\u003cspan pulumi-lang-nodejs=\" incus.StorageBucket\n\" pulumi-lang-dotnet=\" incus.StorageBucket\n\" pulumi-lang-go=\" StorageBucket\n\" pulumi-lang-python=\" StorageBucket\n\" pulumi-lang-yaml=\" incus.StorageBucket\n\" pulumi-lang-java=\" incus.StorageBucket\n\"\u003e incus.StorageBucket\n\u003c/span\u003e\nProvides information about an Incus storage bucket.\nSee Incus storage bucket [configuration reference](https://linuxcontainers.org/incus/docs/main/howto/storage_buckets/) for more details.\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 _this = incus.getStorageBucket({\n name: \"default\",\n storagePool: \"parent\",\n});\nexport const storageBucketName = _this.then(_this =\u003e _this.name);\n```\n```python\nimport pulumi\nimport pulumi_incus as incus\n\nthis = incus.get_storage_bucket(name=\"default\",\n storage_pool=\"parent\")\npulumi.export(\"storageBucketName\", this.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 @this = Incus.GetStorageBucket.Invoke(new()\n {\n Name = \"default\",\n StoragePool = \"parent\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"storageBucketName\"] = @this.Apply(@this =\u003e @this.Apply(getStorageBucketResult =\u003e getStorageBucketResult.Name)),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"git.kalinow.ski/kiterun/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\tthis, err := incus.LookupStorageBucket(ctx, \u0026incus.LookupStorageBucketArgs{\n\t\t\tName: \"default\",\n\t\t\tStoragePool: \"parent\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"storageBucketName\", this.Name)\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.GetStorageBucketArgs;\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 this = IncusFunctions.getStorageBucket(GetStorageBucketArgs.builder()\n .name(\"default\")\n .storagePool(\"parent\")\n .build());\n\n ctx.export(\"storageBucketName\", this_.name());\n }\n}\n```\n```yaml\nvariables:\n this:\n fn::invoke:\n function: incus:getStorageBucket\n arguments:\n name: default\n storagePool: parent\noutputs:\n storageBucketName: ${this.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "inputs": { + "description": "A collection of arguments for invoking getStorageBucket.\n", + "properties": { + "description": { + "type": "string", + "description": "Description of the storage bucket.\n" + }, + "location": { + "type": "string", + "description": "Location of the storage bucket.\n" + }, + "name": { + "type": "string", + "description": "**Required** - Name of the storage bucket.\n" + }, + "project": { + "type": "string", + "description": "*Optional* - Name of the project where the storage bucket is be stored.\n" + }, + "remote": { + "type": "string", + "description": "*Optional* - The remote in which the resource was created. If\nnot provided, the provider's default remote will be used.\n" + }, + "s3Url": { + "type": "string", + "description": "Storage Bucket S3 URL.\n" + }, + "storagePool": { + "type": "string", + "description": "**Required** - Name of the parent storage pool.\n" + }, + "target": { + "type": "string", + "description": "*Optional* - Specify a target node in a cluster.\n" + } + }, + "type": "object", + "required": [ + "name", + "storagePool" + ] + }, + "outputs": { + "description": "A collection of values returned by getStorageBucket.\n", + "properties": { + "config": { + "additionalProperties": { + "type": "string" + }, + "description": "Map of key/value pairs of config settings.\n[storage bucket config settings](https://linuxcontainers.org/incus/docs/main/reference/storage_drivers/)\n", + "type": "object" + }, + "description": { + "description": "Description of the storage bucket.\n", + "type": "string" + }, + "id": { + "description": "The provider-assigned unique ID for this managed resource.", + "type": "string" + }, + "location": { + "description": "Location of the storage bucket.\n", + "type": "string" + }, + "name": { + "type": "string" + }, + "project": { + "type": "string" + }, + "remote": { + "type": "string" + }, + "s3Url": { + "description": "Storage Bucket S3 URL.\n", + "type": "string" + }, + "storagePool": { + "type": "string" + }, + "target": { + "type": "string" + } + }, + "required": [ + "config", + "description", + "location", + "name", + "s3Url", + "storagePool", + "id" + ], + "type": "object" + } + }, + "incus:index/getStoragePool:getStoragePool": { + "description": "## #\u003cspan pulumi-lang-nodejs=\" incus.StoragePool\n\" pulumi-lang-dotnet=\" incus.StoragePool\n\" pulumi-lang-go=\" StoragePool\n\" pulumi-lang-python=\" StoragePool\n\" pulumi-lang-yaml=\" incus.StoragePool\n\" pulumi-lang-java=\" incus.StoragePool\n\"\u003e incus.StoragePool\n\u003c/span\u003e\nProvides information about an Incus storage pool.\nSee Incus storage pool [configuration reference](https://linuxcontainers.org/incus/docs/main/howto/storage_pools/) for more details.\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 _this = incus.getStoragePool({\n name: \"default\",\n});\nexport const storagePoolName = _this.then(_this =\u003e _this.name);\n```\n```python\nimport pulumi\nimport pulumi_incus as incus\n\nthis = incus.get_storage_pool(name=\"default\")\npulumi.export(\"storagePoolName\", this.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 @this = Incus.GetStoragePool.Invoke(new()\n {\n Name = \"default\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"storagePoolName\"] = @this.Apply(@this =\u003e @this.Apply(getStoragePoolResult =\u003e getStoragePoolResult.Name)),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"git.kalinow.ski/kiterun/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\tthis, err := incus.LookupStoragePool(ctx, \u0026incus.LookupStoragePoolArgs{\n\t\t\tName: \"default\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"storagePoolName\", this.Name)\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.GetStoragePoolArgs;\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 this = IncusFunctions.getStoragePool(GetStoragePoolArgs.builder()\n .name(\"default\")\n .build());\n\n ctx.export(\"storagePoolName\", this_.name());\n }\n}\n```\n```yaml\nvariables:\n this:\n fn::invoke:\n function: incus:getStoragePool\n arguments:\n name: default\noutputs:\n storagePoolName: ${this.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "inputs": { + "description": "A collection of arguments for invoking getStoragePool.\n", + "properties": { + "description": { + "type": "string", + "description": "Description of the storage pool.\n" + }, + "driver": { + "type": "string", + "description": "Storage Pool driver.\n" + }, + "name": { + "type": "string", + "description": "**Required** - Name of the storage pool.\n" + }, + "remote": { + "type": "string", + "description": "*Optional* - The remote in which the resource was created. If\nnot provided, the provider's default remote will be used.\n" + }, + "status": { + "type": "string", + "description": "Status of the storage pool.\n" + }, + "target": { + "type": "string", + "description": "*Optional* - Specify a target node in a cluster.\n" + } + }, + "type": "object", + "required": [ + "name" + ] + }, + "outputs": { + "description": "A collection of values returned by getStoragePool.\n", + "properties": { + "config": { + "additionalProperties": { + "type": "string" + }, + "description": "Map of key/value pairs of config settings.\n[storage pool config settings](https://linuxcontainers.org/incus/docs/main/reference/storage_drivers/)\n", + "type": "object" + }, + "description": { + "description": "Description of the storage pool.\n", + "type": "string" + }, + "driver": { + "description": "Storage Pool driver.\n", + "type": "string" + }, + "id": { + "description": "The provider-assigned unique ID for this managed resource.", + "type": "string" + }, + "name": { + "type": "string" + }, + "remote": { + "type": "string" + }, + "status": { + "description": "Status of the storage pool.\n", + "type": "string" + }, + "target": { + "type": "string" + } + }, + "required": [ + "config", + "description", + "driver", + "name", + "status", + "id" + ], + "type": "object" + } + }, + "incus:index/getStorageVolume:getStorageVolume": { + "description": "## #\u003cspan pulumi-lang-nodejs=\" incus.StorageVolume\n\" pulumi-lang-dotnet=\" incus.StorageVolume\n\" pulumi-lang-go=\" StorageVolume\n\" pulumi-lang-python=\" StorageVolume\n\" pulumi-lang-yaml=\" incus.StorageVolume\n\" pulumi-lang-java=\" incus.StorageVolume\n\"\u003e incus.StorageVolume\n\u003c/span\u003e\nProvides information about an Incus storage volume.\nSee Incus storage volume [configuration reference](https://linuxcontainers.org/incus/docs/main/howto/storage_volumes/) for more details.\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 _this = incus.getStorageVolume({\n name: \"default\",\n type: \"custom\",\n storagePool: \"parent\",\n});\nexport const storageVolumeName = _this.then(_this =\u003e _this.name);\n```\n```python\nimport pulumi\nimport pulumi_incus as incus\n\nthis = incus.get_storage_volume(name=\"default\",\n type=\"custom\",\n storage_pool=\"parent\")\npulumi.export(\"storageVolumeName\", this.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 @this = Incus.GetStorageVolume.Invoke(new()\n {\n Name = \"default\",\n Type = \"custom\",\n StoragePool = \"parent\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"storageVolumeName\"] = @this.Apply(@this =\u003e @this.Apply(getStorageVolumeResult =\u003e getStorageVolumeResult.Name)),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"git.kalinow.ski/kiterun/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\tthis, err := incus.LookupStorageVolume(ctx, \u0026incus.LookupStorageVolumeArgs{\n\t\t\tName: \"default\",\n\t\t\tType: \"custom\",\n\t\t\tStoragePool: \"parent\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"storageVolumeName\", this.Name)\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.GetStorageVolumeArgs;\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 this = IncusFunctions.getStorageVolume(GetStorageVolumeArgs.builder()\n .name(\"default\")\n .type(\"custom\")\n .storagePool(\"parent\")\n .build());\n\n ctx.export(\"storageVolumeName\", this_.name());\n }\n}\n```\n```yaml\nvariables:\n this:\n fn::invoke:\n function: incus:getStorageVolume\n arguments:\n name: default\n type: custom\n storagePool: parent\noutputs:\n storageVolumeName: ${this.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "inputs": { + "description": "A collection of arguments for invoking getStorageVolume.\n", + "properties": { + "contentType": { + "type": "string", + "description": "Storage Volume content type.\n" + }, + "description": { + "type": "string", + "description": "Description of the storage volume.\n" + }, + "location": { + "type": "string", + "description": "Location of the storage volume.\n" + }, + "name": { + "type": "string", + "description": "**Required** - Name of the storage volume.\n" + }, + "project": { + "type": "string", + "description": "*Optional* - Name of the project where the storage volume is be stored.\n" + }, + "remote": { + "type": "string", + "description": "*Optional* - The remote in which the resource was created. If\nnot provided, the provider's default remote will be used.\n" + }, + "storagePool": { + "type": "string", + "description": "**Required** - Name of the parent storage pool.\n" + }, + "target": { + "type": "string", + "description": "*Optional* - Specify a target node in a cluster.\n" + }, + "type": { + "type": "string", + "description": "**Required** - Storage Volume type.\n" + } + }, + "type": "object", + "required": [ + "name", + "storagePool", + "type" + ] + }, + "outputs": { + "description": "A collection of values returned by getStorageVolume.\n", + "properties": { + "config": { + "additionalProperties": { + "type": "string" + }, + "description": "Map of key/value pairs of config settings.\n[storage volume config settings](https://linuxcontainers.org/incus/docs/main/reference/storage_drivers/)\n", + "type": "object" + }, + "contentType": { + "description": "Storage Volume content type.\n", + "type": "string" + }, + "description": { + "description": "Description of the storage volume.\n", + "type": "string" + }, + "id": { + "description": "The provider-assigned unique ID for this managed resource.", + "type": "string" + }, + "location": { + "description": "Location of the storage volume.\n", + "type": "string" + }, + "name": { + "type": "string" + }, + "project": { + "type": "string" + }, + "remote": { + "type": "string" + }, + "storagePool": { + "type": "string" + }, + "target": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "required": [ + "config", + "contentType", + "description", + "location", + "name", + "storagePool", + "type", + "id" + ], + "type": "object" + } + }, + "pulumi:providers:incus/terraformConfig": { + "description": "This function returns a Terraform config object with terraform-namecased keys,to be used with the Terraform Module Provider.", + "inputs": { + "properties": { + "__self__": { + "type": "ref", + "$ref": "#/provider" + } + }, + "type": "pulumi:providers:incus/terraformConfig", + "required": [ + "__self__" + ] + }, + "outputs": { + "properties": { + "result": { + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, + "type": "object" + } + }, + "required": [ + "result" + ], + "type": "object" + } } } } \ No newline at end of file diff --git a/provider/go.mod b/provider/go.mod index a9ae154..ddba9b8 100644 --- a/provider/go.mod +++ b/provider/go.mod @@ -2,7 +2,9 @@ module git.kalinow.ski/kiterun/pulumi-incus/provider go 1.25.5 -replace github.com/hashicorp/terraform-plugin-sdk/v2 => github.com/pulumi/terraform-plugin-sdk/v2 v2.0.0-20250221232320-8d4cfd37a3cd +replace github.com/hashicorp/terraform-plugin-sdk/v2 => github.com/pulumi/terraform-plugin-sdk/v2 v2.0.0-20250923233607-7f1981c8674a + +replace github.com/olekukonko/tablewriter => github.com/olekukonko/tablewriter v0.0.5 replace github.com/lxc/terraform-provider-incus/shim => ./shim @@ -172,9 +174,6 @@ require ( github.com/muhlemmer/gu v0.3.1 // indirect github.com/natefinch/atomic v1.0.1 // indirect github.com/oklog/run v1.2.0 // indirect - github.com/olekukonko/cat v0.0.0-20250911104152-50322a0618f6 // indirect - github.com/olekukonko/errors v1.1.0 // indirect - github.com/olekukonko/ll v0.1.3 // indirect github.com/olekukonko/tablewriter v1.1.2 // indirect github.com/opencontainers/go-digest v1.0.0 // indirect github.com/opencontainers/image-spec v1.1.1 // indirect diff --git a/provider/go.sum b/provider/go.sum index 8e7695d..fb8d032 100644 --- a/provider/go.sum +++ b/provider/go.sum @@ -345,8 +345,8 @@ github.com/hashicorp/hil v0.0.0-20251118110004-e173edf37c03 h1:R1KihLKh/GA72MlYh github.com/hashicorp/hil v0.0.0-20251118110004-e173edf37c03/go.mod h1:jkKktDcciKCJmE5Gtm1PU5G1ASrY7OXMngvkV9GXZMI= github.com/hashicorp/logutils v1.0.0 h1:dLEQVugN8vlakKOUE3ihGLTZJRB4j+M2cdTm/ORI65Y= github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= -github.com/hashicorp/terraform-exec v0.23.1 h1:diK5NSSDXDKqHEOIQefBMu9ny+FhzwlwV0xgUTB7VTo= -github.com/hashicorp/terraform-exec v0.23.1/go.mod h1:e4ZEg9BJDRaSalGm2z8vvrPONt0XWG0/tXpmzYTf+dM= +github.com/hashicorp/terraform-exec v0.24.0 h1:mL0xlk9H5g2bn0pPF6JQZk5YlByqSqrO5VoaNtAf8OE= +github.com/hashicorp/terraform-exec v0.24.0/go.mod h1:lluc/rDYfAhYdslLJQg3J0oDqo88oGQAdHR+wDqFvo4= github.com/hashicorp/terraform-json v0.27.1 h1:zWhEracxJW6lcjt/JvximOYyc12pS/gaKSy/wzzE7nY= github.com/hashicorp/terraform-json v0.27.1/go.mod h1:GzPLJ1PLdUG5xL6xn1OXWIjteQRT2CNT9o/6A9mi9hE= github.com/hashicorp/terraform-plugin-framework v1.17.0 h1:JdX50CFrYcYFY31gkmitAEAzLKoBgsK+iaJjDC8OexY= @@ -448,6 +448,7 @@ github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D github.com/mattn/go-localereader v0.0.1 h1:ygSAOl7ZXTx4RdPYinUpg6W99U8jWvWi9Ye2JC/oIi4= github.com/mattn/go-localereader v0.0.1/go.mod h1:8fBrzywKY7BI3czFoHkuzRoWE9C+EiG4R1k4Cjx5p88= github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= +github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= github.com/mattn/go-runewidth v0.0.19 h1:v++JhqYnZuu5jSKrk9RbgF5v4CGUjqRfBm05byFGLdw= github.com/mattn/go-runewidth v0.0.19/go.mod h1:XBkDxAl56ILZc9knddidhrOlY5R/pDhgLpndooCuJAs= github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b/go.mod h1:01TrycV0kFyexm33Z7vhZRXopbI8J3TDReVlkTgMUxE= @@ -498,14 +499,8 @@ github.com/nightlyone/lockfile v1.0.0 h1:RHep2cFKK4PonZJDdEl4GmkabuhbsRMgk/k3uAm github.com/nightlyone/lockfile v1.0.0/go.mod h1:rywoIealpdNse2r832aiD9jRk8ErCatROs6LzC841CI= github.com/oklog/run v1.2.0 h1:O8x3yXwah4A73hJdlrwo/2X6J62gE5qTMusH0dvz60E= github.com/oklog/run v1.2.0/go.mod h1:mgDbKRSwPhJfesJ4PntqFUbKQRZ50NgmZTSPlFA0YFk= -github.com/olekukonko/cat v0.0.0-20250911104152-50322a0618f6 h1:zrbMGy9YXpIeTnGj4EljqMiZsIcE09mmF8XsD5AYOJc= -github.com/olekukonko/cat v0.0.0-20250911104152-50322a0618f6/go.mod h1:rEKTHC9roVVicUIfZK7DYrdIoM0EOr8mK1Hj5s3JjH0= -github.com/olekukonko/errors v1.1.0 h1:RNuGIh15QdDenh+hNvKrJkmxxjV4hcS50Db478Ou5sM= -github.com/olekukonko/errors v1.1.0/go.mod h1:ppzxA5jBKcO1vIpCXQ9ZqgDh8iwODz6OXIGKU8r5m4Y= -github.com/olekukonko/ll v0.1.3 h1:sV2jrhQGq5B3W0nENUISCR6azIPf7UBUpVq0x/y70Fg= -github.com/olekukonko/ll v0.1.3/go.mod h1:b52bVQRRPObe+yyBl0TxNfhesL0nedD4Cht0/zx55Ew= -github.com/olekukonko/tablewriter v1.1.2 h1:L2kI1Y5tZBct/O/TyZK1zIE9GlBj/TVs+AY5tZDCDSc= -github.com/olekukonko/tablewriter v1.1.2/go.mod h1:z7SYPugVqGVavWoA2sGsFIoOVNmEHxUAAMrhXONtfkg= +github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N7AbDhec= +github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/gomega v1.5.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= github.com/onsi/gomega v1.34.1 h1:EUMJIKUjM8sKjYbtxQI9A4z2o+rruxnzNvpknOXie6k= @@ -574,8 +569,8 @@ github.com/pulumi/schema-tools v0.1.2 h1:Fd9xvUjgck4NA+7/jSk7InqCUT4Kj940+EcnbQK github.com/pulumi/schema-tools v0.1.2/go.mod h1:62lgj52Tzq11eqWTIaKd+EVyYAu5dEcDJxMhTjvMO/k= github.com/pulumi/terraform-diff-reader v0.0.2 h1:kTE4nEXU3/SYXESvAIem+wyHMI3abqkI3OhJ0G04LLI= github.com/pulumi/terraform-diff-reader v0.0.2/go.mod h1:sZ9FUzGO+yM41hsQHs/yIcj/Y993qMdBxBU5mpDmAfQ= -github.com/pulumi/terraform-plugin-sdk/v2 v2.0.0-20250221232320-8d4cfd37a3cd h1:+mioF0kwyl84ufR21U7OThZy001IpzJY9w5dNaxrR5A= -github.com/pulumi/terraform-plugin-sdk/v2 v2.0.0-20250221232320-8d4cfd37a3cd/go.mod h1:P6o64QS97plG44iFzSM6rAn6VJIC/Sy9a9IkEtl79K4= +github.com/pulumi/terraform-plugin-sdk/v2 v2.0.0-20250923233607-7f1981c8674a h1:bTwou+tt2fyfuuCp9+VQOlgEJk/xKEaYeoX2HCtp2es= +github.com/pulumi/terraform-plugin-sdk/v2 v2.0.0-20250923233607-7f1981c8674a/go.mod h1:rpW/bFN645nI+o0jth9hyIs/eWi3GP3B1J39fWZKC0Y= github.com/rhysd/go-fakeio v1.0.0 h1:+TjiKCOs32dONY7DaoVz/VPOdvRkPfBkEyUDIpM8FQY= github.com/rhysd/go-fakeio v1.0.0/go.mod h1:joYxF906trVwp2JLrE4jlN7A0z6wrz8O6o1UjarbFzE= github.com/rivo/uniseg v0.4.7 h1:WUdvkW8uEhrYfLC4ZzdpI2ztxP1I582+49Oc5Mq64VQ= diff --git a/provider/resources.go b/provider/resources.go index d22e447..908103d 100644 --- a/provider/resources.go +++ b/provider/resources.go @@ -227,6 +227,11 @@ func Provider() tfbridge.ProviderInfo { ComputeID: tfbridge.DelegateIDField("name", prov.Name, prov.Repository), } + prov.Resources["incus_cluster_group_member"] = &tfbridge.ResourceInfo{ + Tok: tfbridge.MakeResource(mainPkg, mainMod, "ClusterGroupMember"), + ComputeID: tfbridge.DelegateIDField("cluster_group", prov.Name, prov.Repository), + } + prov.Resources["incus_image"] = &tfbridge.ResourceInfo{ Tok: tfbridge.MakeResource(mainPkg, mainMod, "Image"), // Does this work if source image is used? @@ -308,6 +313,12 @@ func Provider() tfbridge.ProviderInfo { ComputeID: tfbridge.DelegateIDField("name", prov.Name, prov.Repository), } + prov.Resources["incus_server"] = &tfbridge.ResourceInfo{ + Tok: tfbridge.MakeResource(mainPkg, mainMod, "Server"), + // It seems there is no id for this + // ComputeID: tfbridge.DelegateIDField("name", prov.Name, prov.Repository), + } + prov.Resources["incus_storage_bucket"] = &tfbridge.ResourceInfo{ Tok: tfbridge.MakeResource(mainPkg, mainMod, "StorageBucket"), ComputeID: delegateIDFields([]resource.PropertyKey{"project", "pool", "name"}, prov.Name, prov.Repository), @@ -333,7 +344,8 @@ func Provider() tfbridge.ProviderInfo { } prov.MustApplyAutoAliases() - prov.SetAutonaming(255, "-") + // SetAutonaming doesn't work with plugin-framework providers + // prov.SetAutonaming(255, "-") return prov }