Files
pulumi-incus/provider/cmd/pulumi-resource-incus/schema.json

3486 lines
191 KiB
JSON

{
"name": "incus",
"displayName": "Incus",
"description": "A Pulumi package for creating and managing incus cloud resources.",
"keywords": [
"incus",
"category/cloud",
"containers",
"nimbus"
],
"homepage": "https://linuxcontainers.org",
"attribution": "This Pulumi package is based on the [`incus` Terraform Provider](https://github.com/lxc/terraform-provider-incus).",
"repository": "https://git.kalinow.ski/kiterun/pulumi-incus",
"logoUrl": "https://linuxcontainers.org/static/img/containers.png",
"pluginDownloadURL": "https://git.kalinow.ski/api/packages/kiterun/generic/pulumi-incus/${VERSION}/",
"publisher": "Kite.run",
"meta": {
"moduleFormat": "(.*)(?:/[^/]*)"
},
"language": {
"csharp": {
"packageReferences": {
"Pulumi": "3.*"
},
"compatibility": "tfbridge20",
"respectSchemaVersion": true
},
"go": {
"importBasePath": "git.kalinow.ski/kiterun/pulumi-incus/sdk/go/incus",
"generateResourceContainerTypes": true,
"generateExtraInputTypes": true,
"respectSchemaVersion": true
},
"nodejs": {
"packageName": "@kiterun/incus",
"packageDescription": "A Pulumi package for creating and managing incus cloud resources.",
"readme": "\u003e This provider is a derived work of the [Terraform Provider](https://github.com/lxc/terraform-provider-incus)\n\u003e distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature,\n\u003e first check the [`pulumi-incus` repo](https://git.kalinow.ski/kiterun/pulumi-incus/issues); however, if that doesn't turn up anything,\n\u003e please consult the source [`terraform-provider-incus` repo](https://github.com/lxc/terraform-provider-incus/issues).",
"typescriptVersion": "^5.8.3",
"compatibility": "tfbridge20",
"disableUnionOutputTypes": true,
"respectSchemaVersion": true,
"useTypeOnlyReferences": true
},
"python": {
"readme": "\u003e This provider is a derived work of the [Terraform Provider](https://github.com/lxc/terraform-provider-incus)\n\u003e distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature,\n\u003e first check the [`pulumi-incus` repo](https://git.kalinow.ski/kiterun/pulumi-incus/issues); however, if that doesn't turn up anything,\n\u003e please consult the source [`terraform-provider-incus` repo](https://github.com/lxc/terraform-provider-incus/issues).",
"compatibility": "tfbridge20",
"respectSchemaVersion": true,
"pyproject": {
"enabled": true
}
}
},
"config": {
"variables": {
"acceptRemoteCertificate": {
"type": "boolean",
"description": "Accept the server certificate.\n"
},
"configDir": {
"type": "string",
"description": "The directory to look for existing Incus configuration. (default = $HOME/.config/incus)\n"
},
"generateClientCertificates": {
"type": "boolean",
"description": "Automatically generate the Incus client certificates if they don't exist.\n"
},
"project": {
"type": "string",
"description": "The project where project-scoped resources will be created. Can be overridden in individual resources. (default =\ndefault)\n"
},
"remotes": {
"type": "array",
"items": {
"$ref": "#/types/incus:config/remotes:remotes"
},
"description": "Incus Remote\n"
}
}
},
"types": {
"incus:config/remotes:remotes": {
"properties": {
"address": {
"type": "string",
"description": "The FQDN or IP where the Incus daemon can be contacted. (default = \"\" (read from lxc config))\n"
},
"default": {
"type": "boolean",
"description": "Set this remote as default.\n"
},
"name": {
"type": "string",
"description": "Name of the Incus remote. Required when incus_scheme set to https, to enable locating server certificate.\n"
},
"port": {
"type": "string",
"description": "Port Incus Daemon API is listening on. (default = 8443)\n"
},
"scheme": {
"type": "string",
"description": "Unix (unix) or HTTPs (https). (default = unix)\n"
},
"token": {
"type": "string",
"description": "The trust token for the remote.\n",
"secret": true
}
},
"type": "object",
"required": [
"name"
],
"language": {
"nodejs": {
"requiredInputs": []
}
}
},
"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"
},
"metadataPath": {
"type": "string",
"description": "*Optional* - Path to the metadata tarball of a [split image](https://linuxcontainers.org/incus/docs/main/reference/image_format/#image-format-split).\n"
}
},
"type": "object",
"required": [
"dataPath"
]
},
"incus:index/ImageSourceImage:ImageSourceImage": {
"properties": {
"architecture": {
"type": "string",
"description": "*Optional* - The image architecture (e.g. x86_64, aarch64). See [Architectures](https://linuxcontainers.org/incus/docs/main/architectures/) for all possible values.\n"
},
"copyAliases": {
"type": "boolean",
"description": "*Optional* - Whether to copy the aliases of the image from\nthe remote. Valid values are `true` and `false`.\n"
},
"name": {
"type": "string",
"description": "**Required** - Name of the image.\n"
},
"remote": {
"type": "string",
"description": "**Required** - The remote where the image will be pulled from.\n"
},
"type": {
"type": "string",
"description": "*Optional* - Type of image to cache. Must be one of `container` or\n`virtual-machine`. Defaults to `container`.\n"
}
},
"type": "object",
"required": [
"name",
"remote"
],
"language": {
"nodejs": {
"requiredOutputs": [
"architecture",
"name",
"remote",
"type"
]
}
}
},
"incus:index/ImageSourceInstance:ImageSourceInstance": {
"properties": {
"name": {
"type": "string",
"description": "**Required** - Name of the source instance.\n"
},
"snapshot": {
"type": "string",
"description": "*Optional* - Name of the snapshot of the source instance\n"
}
},
"type": "object",
"required": [
"name"
]
},
"incus:index/InstanceDevice:InstanceDevice": {
"properties": {
"name": {
"type": "string",
"description": "**Required** - Name of the device.\n"
},
"properties": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "**Required** - Map of key/value pairs of\n[device properties](https://linuxcontainers.org/incus/docs/main/reference/devices/).\n"
},
"type": {
"type": "string",
"description": "**Required** - 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"
]
},
"incus:index/InstanceFile:InstanceFile": {
"properties": {
"append": {
"type": "boolean"
},
"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"
},
"createDirectories": {
"type": "boolean",
"description": "*Optional* - Whether to create the directories leading\nto the target if they do not exist.\n"
},
"gid": {
"type": "integer",
"description": "*Optional* - The GID of the file. Must be an unquoted integer.\n"
},
"mode": {
"type": "string",
"description": "*Optional* - The octal permissions of the file, must be quoted. Defaults to `0755`.\n"
},
"sourcePath": {
"type": "string",
"description": "**Required** unless content is used* - The source path to a file to\ncopy to the instance.\n"
},
"targetPath": {
"type": "string",
"description": "**Required** - The absolute path of the file on the instance,\nincluding the filename.\n"
},
"uid": {
"type": "integer",
"description": "*Optional* - The UID of the file. Must be an unquoted integer.\n"
}
},
"type": "object",
"required": [
"targetPath"
],
"language": {
"nodejs": {
"requiredOutputs": [
"append",
"mode",
"targetPath"
]
}
}
},
"incus:index/InstanceSourceInstance:InstanceSourceInstance": {
"properties": {
"name": {
"type": "string",
"description": "**Required** - Name of the source instance.\n"
},
"project": {
"type": "string",
"description": "**Required** - Name of the project in which the source instance exists.\n"
},
"snapshot": {
"type": "string",
"description": "*Optional* - Name of the snapshot of the source instance\n"
}
},
"type": "object",
"required": [
"name",
"project"
]
},
"incus:index/InstanceWaitFor:InstanceWaitFor": {
"properties": {
"delay": {
"type": "string",
"description": "*Optional* - Delay time that should be waited for when type is `delay`, e.g. `30s`.\n"
},
"nic": {
"type": "string",
"description": "*Optional* - Network interface that should be waited for when type is `ipv4` or `ipv6`.\n"
},
"type": {
"type": "string",
"description": "**Required** - Type for what should be waited for. Can be `agent`, `delay`, `ipv4`, `ipv6` or `ready`.\n"
}
},
"type": "object",
"required": [
"type"
]
},
"incus:index/NetworkAclEgress:NetworkAclEgress": {
"properties": {
"action": {
"type": "string",
"description": "**Required** - Action to take for matching traffic , must be one of allow, allow-stateless, drop, reject\n"
},
"description": {
"type": "string",
"description": "*Optional* - Description of the network ACL rule.\n"
},
"destination": {
"type": "string",
"description": "*Optional* - Comma-separated list of CIDR or IP ranges, destination subject name selectors (for egress rules), or empty for any\n"
},
"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"
},
"icmpCode": {
"type": "string",
"description": "*Optional* - If protocol is `icmp4` or `icmp6`, 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"
},
"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"
},
"source": {
"type": "string",
"description": "*Optional* - Comma-separated list of CIDR or IP ranges, source subject name selectors (for ingress rules), or empty for any\n"
},
"state": {
"type": "string",
"description": "*Optional* - State of the rule (enabled, disabled or logged), defaulting to enabled if not specified\n"
}
},
"type": "object",
"required": [
"action",
"state"
],
"language": {
"nodejs": {
"requiredOutputs": [
"action",
"description",
"destination",
"destinationPort",
"icmpCode",
"icmpType",
"protocol",
"source",
"state"
]
}
}
},
"incus:index/NetworkAclIngress:NetworkAclIngress": {
"properties": {
"action": {
"type": "string",
"description": "**Required** - Action to take for matching traffic , must be one of allow, allow-stateless, drop, reject\n"
},
"description": {
"type": "string",
"description": "*Optional* - Description of the network ACL rule.\n"
},
"destination": {
"type": "string",
"description": "*Optional* - Comma-separated list of CIDR or IP ranges, destination subject name selectors (for egress rules), or empty for any\n"
},
"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"
},
"icmpCode": {
"type": "string",
"description": "*Optional* - If protocol is `icmp4` or `icmp6`, 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"
},
"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"
},
"source": {
"type": "string",
"description": "*Optional* - Comma-separated list of CIDR or IP ranges, source subject name selectors (for ingress rules), or empty for any\n"
},
"state": {
"type": "string",
"description": "*Optional* - State of the rule (enabled, disabled or logged), defaulting to enabled if not specified\n"
}
},
"type": "object",
"required": [
"action",
"state"
],
"language": {
"nodejs": {
"requiredOutputs": [
"action",
"description",
"destination",
"destinationPort",
"icmpCode",
"icmpType",
"protocol",
"source",
"state"
]
}
}
},
"incus:index/NetworkForwardPort:NetworkForwardPort": {
"properties": {
"description": {
"type": "string",
"description": "*Optional* - Description of port(s)\n"
},
"listenPort": {
"type": "string",
"description": "**Required** - Listen port(s) (e.g. `80,90-100`)\n"
},
"protocol": {
"type": "string",
"description": "**Required** - Protocol for the port(s) (`tcp` or `udp`). If not set then `tcp` will be used.\n"
},
"targetAddress": {
"type": "string",
"description": "**Required** - IP address to forward to\n"
},
"targetPort": {
"type": "string",
"description": "*Optional* - T arget port(s) (e.g. `70,80-90` or `90`), same as listen_port if empty\n"
}
},
"type": "object",
"required": [
"listenPort",
"targetAddress",
"targetPort"
],
"language": {
"nodejs": {
"requiredOutputs": [
"listenPort",
"protocol",
"targetAddress",
"targetPort"
]
}
}
},
"incus:index/NetworkLoadBalancerBackend:NetworkLoadBalancerBackend": {
"properties": {
"description": {
"type": "string",
"description": "LB backend description\n"
},
"name": {
"type": "string",
"description": "LB backend name\n"
},
"targetAddress": {
"type": "string",
"description": "LB backend target address\n"
},
"targetPort": {
"type": "string",
"description": "LB backend target port\n"
}
},
"type": "object",
"required": [
"name",
"targetAddress"
],
"language": {
"nodejs": {
"requiredOutputs": [
"description",
"name",
"targetAddress",
"targetPort"
]
}
}
},
"incus:index/NetworkLoadBalancerPort:NetworkLoadBalancerPort": {
"properties": {
"description": {
"type": "string",
"description": "Port description\n"
},
"listenPort": {
"type": "string",
"description": "Port to listen to\n"
},
"protocol": {
"type": "string",
"description": "Port protocol\n"
},
"targetBackends": {
"type": "array",
"items": {
"type": "string"
},
"description": "List of target LB backends\n"
}
},
"type": "object",
"required": [
"listenPort",
"targetBackends"
],
"language": {
"nodejs": {
"requiredOutputs": [
"description",
"listenPort",
"protocol",
"targetBackends"
]
}
}
},
"incus:index/NetworkZoneRecordEntry:NetworkZoneRecordEntry": {
"properties": {
"ttl": {
"type": "integer",
"description": "*Optional* - Entry time to live (TTL).\n"
},
"type": {
"type": "string",
"description": "**Required** - Entry type. Valid values are DNS record type, e.g. `A`, `AAAA`, `CNAME`, `TXT`, etc.\n"
},
"value": {
"type": "string",
"description": "**Required** - Entry value.\n"
}
},
"type": "object",
"required": [
"type",
"value"
],
"language": {
"nodejs": {
"requiredOutputs": [
"ttl",
"type",
"value"
]
}
}
},
"incus:index/ProfileDevice:ProfileDevice": {
"properties": {
"name": {
"type": "string",
"description": "**Required** - Name of the device.\n"
},
"properties": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "**Required** - Map of key/value pairs of\n[device properties](https://linuxcontainers.org/incus/docs/main/reference/devices/).\n"
},
"type": {
"type": "string",
"description": "**Required** - 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"
]
},
"incus:index/ProviderRemote:ProviderRemote": {
"properties": {
"address": {
"type": "string",
"description": "The FQDN or IP where the Incus daemon can be contacted. (default = \"\" (read from lxc config))\n"
},
"default": {
"type": "boolean",
"description": "Set this remote as default.\n"
},
"name": {
"type": "string",
"description": "Name of the Incus remote. Required when incus_scheme set to https, to enable locating server certificate.\n"
},
"port": {
"type": "string",
"description": "Port Incus Daemon API is listening on. (default = 8443)\n"
},
"scheme": {
"type": "string",
"description": "Unix (unix) or HTTPs (https). (default = unix)\n"
},
"token": {
"type": "string",
"description": "The trust token for the remote.\n",
"secret": true
}
},
"type": "object",
"required": [
"name"
],
"language": {
"nodejs": {
"requiredOutputs": []
}
}
},
"incus:index/StorageVolumeSourceVolume:StorageVolumeSourceVolume": {
"properties": {
"name": {
"type": "string",
"description": "**Required** - Name of the storage volume.\n"
},
"pool": {
"type": "string",
"description": "**Required** - The storage pool that will receive the copy of the volume copy.\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",
"required": [
"name",
"pool"
]
},
"incus:index/getProfileDevice:getProfileDevice": {
"properties": {
"name": {
"type": "string",
"description": "**Required** - Name of the profile.\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": []
}
}
}
},
"provider": {
"description": "The provider type for the incus package. By default, resources use package-wide configuration\nsettings, however an explicit `Provider` instance may be created and passed during resource\nconstruction to achieve fine-grained programmatic control over provider settings. See the\n[documentation](https://www.pulumi.com/docs/reference/programming-model/#providers) for more information.\n",
"properties": {
"acceptRemoteCertificate": {
"type": "boolean",
"description": "Accept the server certificate.\n"
},
"configDir": {
"type": "string",
"description": "The directory to look for existing Incus configuration. (default = $HOME/.config/incus)\n"
},
"generateClientCertificates": {
"type": "boolean",
"description": "Automatically generate the Incus client certificates if they don't exist.\n"
},
"project": {
"type": "string",
"description": "The project where project-scoped resources will be created. Can be overridden in individual resources. (default =\ndefault)\n"
},
"remotes": {
"type": "array",
"items": {
"$ref": "#/types/incus:index/ProviderRemote:ProviderRemote"
},
"description": "Incus Remote\n"
}
},
"inputProperties": {
"acceptRemoteCertificate": {
"type": "boolean",
"description": "Accept the server certificate.\n"
},
"configDir": {
"type": "string",
"description": "The directory to look for existing Incus configuration. (default = $HOME/.config/incus)\n"
},
"generateClientCertificates": {
"type": "boolean",
"description": "Automatically generate the Incus client certificates if they don't exist.\n"
},
"project": {
"type": "string",
"description": "The project where project-scoped resources will be created. Can be overridden in individual resources. (default =\ndefault)\n"
},
"remotes": {
"type": "array",
"items": {
"$ref": "#/types/incus:index/ProviderRemote:ProviderRemote"
},
"description": "Incus Remote\n"
}
}
},
"resources": {
"incus:index/certificate:Certificate": {
"description": "## # incus.Certificate\n\nManages an Incus certificate.\n\n",
"properties": {
"certificate": {
"type": "string",
"description": "**Required** - The certificate.\n"
},
"description": {
"type": "string",
"description": "*Optional* - Description of the certificate.\n"
},
"fingerprint": {
"type": "string",
"description": "The fingerprint of the certificate.\n"
},
"name": {
"type": "string",
"description": "**Required** - Name of the certificate.\n"
},
"projects": {
"type": "array",
"items": {
"type": "string"
},
"description": "*Optional* - List of projects to restrict the certificate to.\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"
},
"restricted": {
"type": "boolean",
"description": "*Optional* - Restrict the certificate to one or more projects.\n"
},
"type": {
"type": "string",
"description": "*Optional* - The type of certificate to create. Can be one of: client,\nor metrics. If no type is specified, a client certificate is created.\n"
}
},
"required": [
"certificate",
"description",
"fingerprint",
"name",
"projects",
"restricted",
"type"
],
"inputProperties": {
"certificate": {
"type": "string",
"description": "**Required** - The certificate.\n"
},
"description": {
"type": "string",
"description": "*Optional* - Description of the certificate.\n"
},
"name": {
"type": "string",
"description": "**Required** - Name of the certificate.\n"
},
"projects": {
"type": "array",
"items": {
"type": "string"
},
"description": "*Optional* - List of projects to restrict the certificate to.\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"
},
"restricted": {
"type": "boolean",
"description": "*Optional* - Restrict the certificate to one or more projects.\n"
},
"type": {
"type": "string",
"description": "*Optional* - The type of certificate to create. Can be one of: client,\nor metrics. If no type is specified, a client certificate is created.\n"
}
},
"requiredInputs": [
"certificate"
],
"stateInputs": {
"description": "Input properties used for looking up and filtering Certificate resources.\n",
"properties": {
"certificate": {
"type": "string",
"description": "**Required** - The certificate.\n"
},
"description": {
"type": "string",
"description": "*Optional* - Description of the certificate.\n"
},
"fingerprint": {
"type": "string",
"description": "The fingerprint of the certificate.\n"
},
"name": {
"type": "string",
"description": "**Required** - Name of the certificate.\n"
},
"projects": {
"type": "array",
"items": {
"type": "string"
},
"description": "*Optional* - List of projects to restrict the certificate to.\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"
},
"restricted": {
"type": "boolean",
"description": "*Optional* - Restrict the certificate to one or more projects.\n"
},
"type": {
"type": "string",
"description": "*Optional* - The type of certificate to create. Can be one of: client,\nor metrics. If no type is specified, a client certificate is created.\n"
}
},
"type": "object"
}
},
"incus:index/clusterGroup:ClusterGroup": {
"properties": {
"config": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"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"
},
"name": {
"type": "string",
"description": "**Required** - Name of the cluster group.\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": [
"config",
"description",
"name"
],
"inputProperties": {
"config": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"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"
},
"name": {
"type": "string",
"description": "**Required** - Name of the cluster group.\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"
}
},
"stateInputs": {
"description": "Input properties used for looking up and filtering ClusterGroup resources.\n",
"properties": {
"config": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"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"
},
"name": {
"type": "string",
"description": "**Required** - Name of the cluster group.\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/clusterGroupAssignment:ClusterGroupAssignment": {
"properties": {
"clusterGroup": {
"type": "string",
"description": "**Required** - Name of the cluster group.\n"
},
"member": {
"type": "string",
"description": "**Required** - Name of the cluster group member.\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": [
"clusterGroup",
"member"
],
"inputProperties": {
"clusterGroup": {
"type": "string",
"description": "**Required** - Name of the cluster group.\n"
},
"member": {
"type": "string",
"description": "**Required** - Name of the cluster group member.\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": [
"clusterGroup",
"member"
],
"stateInputs": {
"description": "Input properties used for looking up and filtering ClusterGroupAssignment resources.\n",
"properties": {
"clusterGroup": {
"type": "string",
"description": "**Required** - Name of the cluster group.\n"
},
"member": {
"type": "string",
"description": "**Required** - Name of the cluster group member.\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/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",
"properties": {
"aliases": {
"type": "array",
"items": {
"type": "string"
},
"description": "*Optional* - A list of aliases to assign to the image after\npulling.\n"
},
"copiedAliases": {
"type": "array",
"items": {
"type": "string"
},
"description": "The list of aliases that were copied from the\n`source_image`.\n"
},
"createdAt": {
"type": "integer",
"description": "The datetime of image creation, in Unix time.\n"
},
"fingerprint": {
"type": "string",
"description": "The unique hash fingperint of the image.\n"
},
"project": {
"type": "string",
"description": "*Optional* - Name of the project where the image will be stored.\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"
},
"resourceId": {
"type": "string"
},
"sourceFile": {
"$ref": "#/types/incus:index/ImageSourceFile:ImageSourceFile",
"description": "*Optional* - The image file from the local file system from which the image will be created. See reference below.\n"
},
"sourceImage": {
"$ref": "#/types/incus:index/ImageSourceImage:ImageSourceImage",
"description": "*Optional* - The source image from which the image will be created. See reference below.\n"
},
"sourceInstance": {
"$ref": "#/types/incus:index/ImageSourceInstance:ImageSourceInstance",
"description": "*Optional* - The source instance from which the image will be created. See reference below.\n"
}
},
"required": [
"copiedAliases",
"createdAt",
"fingerprint",
"resourceId"
],
"inputProperties": {
"aliases": {
"type": "array",
"items": {
"type": "string"
},
"description": "*Optional* - A list of aliases to assign to the image after\npulling.\n"
},
"project": {
"type": "string",
"description": "*Optional* - Name of the project where the image will be stored.\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"
},
"sourceFile": {
"$ref": "#/types/incus:index/ImageSourceFile:ImageSourceFile",
"description": "*Optional* - The image file from the local file system from which the image will be created. See reference below.\n"
},
"sourceImage": {
"$ref": "#/types/incus:index/ImageSourceImage:ImageSourceImage",
"description": "*Optional* - The source image from which the image will be created. See reference below.\n"
},
"sourceInstance": {
"$ref": "#/types/incus:index/ImageSourceInstance:ImageSourceInstance",
"description": "*Optional* - The source instance from which the image will be created. See reference below.\n"
}
},
"stateInputs": {
"description": "Input properties used for looking up and filtering Image resources.\n",
"properties": {
"aliases": {
"type": "array",
"items": {
"type": "string"
},
"description": "*Optional* - A list of aliases to assign to the image after\npulling.\n"
},
"copiedAliases": {
"type": "array",
"items": {
"type": "string"
},
"description": "The list of aliases that were copied from the\n`source_image`.\n"
},
"createdAt": {
"type": "integer",
"description": "The datetime of image creation, in Unix time.\n"
},
"fingerprint": {
"type": "string",
"description": "The unique hash fingperint of the image.\n"
},
"project": {
"type": "string",
"description": "*Optional* - Name of the project where the image will be stored.\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"
},
"resourceId": {
"type": "string"
},
"sourceFile": {
"$ref": "#/types/incus:index/ImageSourceFile:ImageSourceFile",
"description": "*Optional* - The image file from the local file system from which the image will be created. See reference below.\n"
},
"sourceImage": {
"$ref": "#/types/incus:index/ImageSourceImage:ImageSourceImage",
"description": "*Optional* - The source image from which the image will be created. See reference below.\n"
},
"sourceInstance": {
"$ref": "#/types/incus:index/ImageSourceInstance:ImageSourceInstance",
"description": "*Optional* - The source instance from which the image will be created. See reference below.\n"
}
},
"type": "object"
}
},
"incus:index/instance:Instance": {
"properties": {
"config": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "*Optional* - Map of key/value pairs of\n[instance config settings](https://linuxcontainers.org/incus/docs/main/reference/instance_options/).\n"
},
"description": {
"type": "string",
"description": "*Optional* - Description of the instance.\n"
},
"devices": {
"type": "array",
"items": {
"$ref": "#/types/incus:index/InstanceDevice:InstanceDevice"
},
"description": "*Optional* - Device definition. See reference below.\n"
},
"ephemeral": {
"type": "boolean",
"description": "*Optional* - Boolean indicating if this instance is ephemeral. Defaults to `false`.\n"
},
"files": {
"type": "array",
"items": {
"$ref": "#/types/incus:index/InstanceFile:InstanceFile"
},
"description": "*Optional* - File to upload to the instance. See reference below.\n"
},
"image": {
"type": "string",
"description": "*Optional* - Base image from which the instance will be created. Must\nspecify [an image accessible from the provider remote](https://linuxcontainers.org/incus/docs/main/reference/image_servers/).\n"
},
"ipv4Address": {
"type": "string",
"description": "The IPv4 Address of the instance. See Instance Network\nAccess for more details.\n"
},
"ipv6Address": {
"type": "string",
"description": "The IPv6 Address of the instance. See Instance Network\nAccess for more details.\n"
},
"macAddress": {
"type": "string",
"description": "The MAC address of the detected NIC. See Instance Network\nAccess for more details.\n"
},
"name": {
"type": "string",
"description": "**Required** - Name of the instance.\n"
},
"profiles": {
"type": "array",
"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"
},
"project": {
"type": "string",
"description": "*Optional* - Name of the project where the instance will be spawned.\n",
"default": "default"
},
"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"
},
"running": {
"type": "boolean",
"description": "*Optional* - Boolean indicating whether the instance should be started (running). Defaults to `true`.\n"
},
"sourceFile": {
"type": "string",
"description": "*Optional* - The souce backup file from which the instance should be restored. For handling of storage pool, see examples.\n"
},
"sourceInstance": {
"$ref": "#/types/incus:index/InstanceSourceInstance:InstanceSourceInstance",
"description": "*Optional* - The source instance from which the instance will be created. See reference below.\n"
},
"status": {
"type": "string",
"description": "The status of the instance.\n"
},
"target": {
"type": "string",
"description": "*Optional* - Specify a target node in a cluster.\n"
},
"type": {
"type": "string",
"description": "*Optional* - Instance type. Can be `container`, or `virtual-machine`. Defaults to `container`.\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"
}
},
"required": [
"config",
"description",
"ephemeral",
"ipv4Address",
"ipv6Address",
"macAddress",
"name",
"profiles",
"project",
"running",
"status",
"target",
"type"
],
"inputProperties": {
"config": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "*Optional* - Map of key/value pairs of\n[instance config settings](https://linuxcontainers.org/incus/docs/main/reference/instance_options/).\n"
},
"description": {
"type": "string",
"description": "*Optional* - Description of the instance.\n"
},
"devices": {
"type": "array",
"items": {
"$ref": "#/types/incus:index/InstanceDevice:InstanceDevice"
},
"description": "*Optional* - Device definition. See reference below.\n"
},
"ephemeral": {
"type": "boolean",
"description": "*Optional* - Boolean indicating if this instance is ephemeral. Defaults to `false`.\n"
},
"files": {
"type": "array",
"items": {
"$ref": "#/types/incus:index/InstanceFile:InstanceFile"
},
"description": "*Optional* - File to upload to the instance. See reference below.\n"
},
"image": {
"type": "string",
"description": "*Optional* - Base image from which the instance will be created. Must\nspecify [an image accessible from the provider remote](https://linuxcontainers.org/incus/docs/main/reference/image_servers/).\n"
},
"name": {
"type": "string",
"description": "**Required** - Name of the instance.\n"
},
"profiles": {
"type": "array",
"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"
},
"project": {
"type": "string",
"description": "*Optional* - Name of the project where the instance will be spawned.\n",
"default": "default"
},
"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"
},
"running": {
"type": "boolean",
"description": "*Optional* - Boolean indicating whether the instance should be started (running). Defaults to `true`.\n"
},
"sourceFile": {
"type": "string",
"description": "*Optional* - The souce backup file from which the instance should be restored. For handling of storage pool, see examples.\n"
},
"sourceInstance": {
"$ref": "#/types/incus:index/InstanceSourceInstance:InstanceSourceInstance",
"description": "*Optional* - The source instance from which the instance will be created. See reference below.\n"
},
"target": {
"type": "string",
"description": "*Optional* - Specify a target node in a cluster.\n"
},
"type": {
"type": "string",
"description": "*Optional* - Instance type. Can be `container`, or `virtual-machine`. Defaults to `container`.\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"
}
},
"stateInputs": {
"description": "Input properties used for looking up and filtering Instance resources.\n",
"properties": {
"config": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "*Optional* - Map of key/value pairs of\n[instance config settings](https://linuxcontainers.org/incus/docs/main/reference/instance_options/).\n"
},
"description": {
"type": "string",
"description": "*Optional* - Description of the instance.\n"
},
"devices": {
"type": "array",
"items": {
"$ref": "#/types/incus:index/InstanceDevice:InstanceDevice"
},
"description": "*Optional* - Device definition. See reference below.\n"
},
"ephemeral": {
"type": "boolean",
"description": "*Optional* - Boolean indicating if this instance is ephemeral. Defaults to `false`.\n"
},
"files": {
"type": "array",
"items": {
"$ref": "#/types/incus:index/InstanceFile:InstanceFile"
},
"description": "*Optional* - File to upload to the instance. See reference below.\n"
},
"image": {
"type": "string",
"description": "*Optional* - Base image from which the instance will be created. Must\nspecify [an image accessible from the provider remote](https://linuxcontainers.org/incus/docs/main/reference/image_servers/).\n"
},
"ipv4Address": {
"type": "string",
"description": "The IPv4 Address of the instance. See Instance Network\nAccess for more details.\n"
},
"ipv6Address": {
"type": "string",
"description": "The IPv6 Address of the instance. See Instance Network\nAccess for more details.\n"
},
"macAddress": {
"type": "string",
"description": "The MAC address of the detected NIC. See Instance Network\nAccess for more details.\n"
},
"name": {
"type": "string",
"description": "**Required** - Name of the instance.\n"
},
"profiles": {
"type": "array",
"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"
},
"project": {
"type": "string",
"description": "*Optional* - Name of the project where the instance will be spawned.\n",
"default": "default"
},
"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"
},
"running": {
"type": "boolean",
"description": "*Optional* - Boolean indicating whether the instance should be started (running). Defaults to `true`.\n"
},
"sourceFile": {
"type": "string",
"description": "*Optional* - The souce backup file from which the instance should be restored. For handling of storage pool, see examples.\n"
},
"sourceInstance": {
"$ref": "#/types/incus:index/InstanceSourceInstance:InstanceSourceInstance",
"description": "*Optional* - The source instance from which the instance will be created. See reference below.\n"
},
"status": {
"type": "string",
"description": "The status of the instance.\n"
},
"target": {
"type": "string",
"description": "*Optional* - Specify a target node in a cluster.\n"
},
"type": {
"type": "string",
"description": "*Optional* - Instance type. Can be `container`, or `virtual-machine`. Defaults to `container`.\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"
}
},
"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",
"properties": {
"createdAt": {
"type": "integer",
"description": "The time Incus reported the snapshot was successfully created,\nin UTC.\n"
},
"instance": {
"type": "string",
"description": "**Required** - The name of the instance to snapshot.\n"
},
"name": {
"type": "string",
"description": "**Required** - Name of the snapshot.\n"
},
"project": {
"type": "string",
"description": "*Optional* - Name of the project where the snapshot will be stored.\n",
"default": "default"
},
"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"
},
"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"
}
},
"required": [
"createdAt",
"instance",
"name",
"project",
"stateful"
],
"inputProperties": {
"instance": {
"type": "string",
"description": "**Required** - The name of the instance to snapshot.\n"
},
"name": {
"type": "string",
"description": "**Required** - Name of the snapshot.\n"
},
"project": {
"type": "string",
"description": "*Optional* - Name of the project where the snapshot will be stored.\n",
"default": "default"
},
"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"
},
"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"
}
},
"requiredInputs": [
"instance"
],
"stateInputs": {
"description": "Input properties used for looking up and filtering InstanceSnapshot resources.\n",
"properties": {
"createdAt": {
"type": "integer",
"description": "The time Incus reported the snapshot was successfully created,\nin UTC.\n"
},
"instance": {
"type": "string",
"description": "**Required** - The name of the instance to snapshot.\n"
},
"name": {
"type": "string",
"description": "**Required** - Name of the snapshot.\n"
},
"project": {
"type": "string",
"description": "*Optional* - Name of the project where the snapshot will be stored.\n",
"default": "default"
},
"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"
},
"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"
}
},
"type": "object"
}
},
"incus:index/network:Network": {
"properties": {
"config": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "*Optional* - Map of key/value pairs of\n[network config settings](https://linuxcontainers.org/incus/docs/main/networks/).\n"
},
"description": {
"type": "string",
"description": "*Optional* - Description of the network.\n"
},
"managed": {
"type": "boolean",
"description": "Whether or not the network is managed.\n"
},
"name": {
"type": "string",
"description": "**Required** - Name of the network. This is usually the device the\nnetwork will appear as to instances.\n"
},
"project": {
"type": "string",
"description": "*Optional* - Name of the project where the network will be created.\n",
"default": "default"
},
"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.\n"
},
"type": {
"type": "string",
"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"
}
},
"required": [
"config",
"description",
"managed",
"name",
"project",
"type"
],
"inputProperties": {
"config": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "*Optional* - Map of key/value pairs of\n[network config settings](https://linuxcontainers.org/incus/docs/main/networks/).\n"
},
"description": {
"type": "string",
"description": "*Optional* - Description of the network.\n"
},
"name": {
"type": "string",
"description": "**Required** - Name of the network. This is usually the device the\nnetwork will appear as to instances.\n"
},
"project": {
"type": "string",
"description": "*Optional* - Name of the project where the network will be created.\n",
"default": "default"
},
"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.\n"
},
"type": {
"type": "string",
"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"
}
},
"stateInputs": {
"description": "Input properties used for looking up and filtering Network resources.\n",
"properties": {
"config": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "*Optional* - Map of key/value pairs of\n[network config settings](https://linuxcontainers.org/incus/docs/main/networks/).\n"
},
"description": {
"type": "string",
"description": "*Optional* - Description of the network.\n"
},
"managed": {
"type": "boolean",
"description": "Whether or not the network is managed.\n"
},
"name": {
"type": "string",
"description": "**Required** - Name of the network. This is usually the device the\nnetwork will appear as to instances.\n"
},
"project": {
"type": "string",
"description": "*Optional* - Name of the project where the network will be created.\n",
"default": "default"
},
"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.\n"
},
"type": {
"type": "string",
"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"
}
},
"type": "object"
}
},
"incus:index/networkAcl:NetworkAcl": {
"properties": {
"config": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "*Optional* - Map of key/value pairs of\nnetwork ACL config settings.\n"
},
"description": {
"type": "string",
"description": "*Optional* - Description of the network ACL rule.\n"
},
"egresses": {
"type": "array",
"items": {
"$ref": "#/types/incus:index/NetworkAclEgress:NetworkAclEgress"
},
"description": "*Optional* - List of network ACL rules for egress traffic. See reference below.\n"
},
"ingresses": {
"type": "array",
"items": {
"$ref": "#/types/incus:index/NetworkAclIngress:NetworkAclIngress"
},
"description": "*Optional* - List of network ACL rules for ingress traffic. See reference below.\n\nThe network ACL rule supports:\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 will be created.\n",
"default": "default"
},
"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": [
"config",
"description",
"egresses",
"ingresses",
"name",
"project"
],
"inputProperties": {
"config": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "*Optional* - Map of key/value pairs of\nnetwork ACL config settings.\n"
},
"description": {
"type": "string",
"description": "*Optional* - Description of the network ACL rule.\n"
},
"egresses": {
"type": "array",
"items": {
"$ref": "#/types/incus:index/NetworkAclEgress:NetworkAclEgress"
},
"description": "*Optional* - List of network ACL rules for egress traffic. See reference below.\n"
},
"ingresses": {
"type": "array",
"items": {
"$ref": "#/types/incus:index/NetworkAclIngress:NetworkAclIngress"
},
"description": "*Optional* - List of network ACL rules for ingress traffic. See reference below.\n\nThe network ACL rule supports:\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 will be created.\n",
"default": "default"
},
"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"
}
},
"stateInputs": {
"description": "Input properties used for looking up and filtering NetworkAcl resources.\n",
"properties": {
"config": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "*Optional* - Map of key/value pairs of\nnetwork ACL config settings.\n"
},
"description": {
"type": "string",
"description": "*Optional* - Description of the network ACL rule.\n"
},
"egresses": {
"type": "array",
"items": {
"$ref": "#/types/incus:index/NetworkAclEgress:NetworkAclEgress"
},
"description": "*Optional* - List of network ACL rules for egress traffic. See reference below.\n"
},
"ingresses": {
"type": "array",
"items": {
"$ref": "#/types/incus:index/NetworkAclIngress:NetworkAclIngress"
},
"description": "*Optional* - List of network ACL rules for ingress traffic. See reference below.\n\nThe network ACL rule supports:\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 will be created.\n",
"default": "default"
},
"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": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "*Optional* - Map of key/value pairs of\nnetwork forward config settings.\n"
},
"description": {
"type": "string",
"description": "*Optional* - Description of port(s)\n"
},
"listenAddress": {
"type": "string",
"description": "**Required** - IP address to listen on.\n"
},
"network": {
"type": "string",
"description": "**Required** - Name of the network.\n"
},
"ports": {
"type": "array",
"items": {
"$ref": "#/types/incus:index/NetworkForwardPort:NetworkForwardPort"
},
"description": "*Optional* - List of port specifications. See reference below.\n\nThe network forward port supports:\n"
},
"project": {
"type": "string",
"description": "*Optional* - Name of the project where the network forward 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": [
"config",
"description",
"listenAddress",
"network",
"ports"
],
"inputProperties": {
"config": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "*Optional* - Map of key/value pairs of\nnetwork forward config settings.\n"
},
"description": {
"type": "string",
"description": "*Optional* - Description of port(s)\n"
},
"listenAddress": {
"type": "string",
"description": "**Required** - IP address to listen on.\n"
},
"network": {
"type": "string",
"description": "**Required** - Name of the network.\n"
},
"ports": {
"type": "array",
"items": {
"$ref": "#/types/incus:index/NetworkForwardPort:NetworkForwardPort"
},
"description": "*Optional* - List of port specifications. See reference below.\n\nThe network forward port supports:\n"
},
"project": {
"type": "string",
"description": "*Optional* - Name of the project where the network forward 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": [
"listenAddress",
"network"
],
"stateInputs": {
"description": "Input properties used for looking up and filtering NetworkForward resources.\n",
"properties": {
"config": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "*Optional* - Map of key/value pairs of\nnetwork forward config settings.\n"
},
"description": {
"type": "string",
"description": "*Optional* - Description of port(s)\n"
},
"listenAddress": {
"type": "string",
"description": "**Required** - IP address to listen on.\n"
},
"network": {
"type": "string",
"description": "**Required** - Name of the network.\n"
},
"ports": {
"type": "array",
"items": {
"$ref": "#/types/incus:index/NetworkForwardPort:NetworkForwardPort"
},
"description": "*Optional* - List of port specifications. See reference below.\n\nThe network forward port supports:\n"
},
"project": {
"type": "string",
"description": "*Optional* - Name of the project where the network forward 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/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",
"properties": {
"config": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "*Optional* - Map of key/value pairs of [network integration config settings](https://linuxcontainers.org/incus/docs/main/howto/network_integrations/)\n"
},
"description": {
"type": "string",
"description": "*Optional* - Description of the network integration.\n"
},
"name": {
"type": "string",
"description": "**Required** - Name of the network integration.\n"
},
"project": {
"type": "string",
"description": "*Optional* - Name of the project where the network will be created.\n",
"default": "default"
},
"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": {
"type": "string",
"description": "**Required** - The type of the network integration. Currently, only supports `ovn` type.\n"
}
},
"required": [
"config",
"description",
"name",
"project",
"type"
],
"inputProperties": {
"config": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "*Optional* - Map of key/value pairs of [network integration config settings](https://linuxcontainers.org/incus/docs/main/howto/network_integrations/)\n"
},
"description": {
"type": "string",
"description": "*Optional* - Description of the network integration.\n"
},
"name": {
"type": "string",
"description": "**Required** - Name of the network integration.\n"
},
"project": {
"type": "string",
"description": "*Optional* - Name of the project where the network will be created.\n",
"default": "default"
},
"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": {
"type": "string",
"description": "**Required** - The type of the network integration. Currently, only supports `ovn` type.\n"
}
},
"requiredInputs": [
"type"
],
"stateInputs": {
"description": "Input properties used for looking up and filtering NetworkIntegration resources.\n",
"properties": {
"config": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "*Optional* - Map of key/value pairs of [network integration config settings](https://linuxcontainers.org/incus/docs/main/howto/network_integrations/)\n"
},
"description": {
"type": "string",
"description": "*Optional* - Description of the network integration.\n"
},
"name": {
"type": "string",
"description": "**Required** - Name of the network integration.\n"
},
"project": {
"type": "string",
"description": "*Optional* - Name of the project where the network will be created.\n",
"default": "default"
},
"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": {
"type": "string",
"description": "**Required** - The type of the network integration. Currently, only supports `ovn` type.\n"
}
},
"type": "object"
}
},
"incus:index/networkLoadBalancer:NetworkLoadBalancer": {
"properties": {
"backends": {
"type": "array",
"items": {
"$ref": "#/types/incus:index/NetworkLoadBalancerBackend:NetworkLoadBalancerBackend"
},
"description": "Network load balancer backend\n"
},
"config": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"description": {
"type": "string"
},
"listenAddress": {
"type": "string"
},
"network": {
"type": "string"
},
"ports": {
"type": "array",
"items": {
"$ref": "#/types/incus:index/NetworkLoadBalancerPort:NetworkLoadBalancerPort"
},
"description": "Network load balancer port\n"
},
"project": {
"type": "string"
},
"remote": {
"type": "string"
}
},
"required": [
"config",
"description",
"listenAddress",
"network"
],
"inputProperties": {
"backends": {
"type": "array",
"items": {
"$ref": "#/types/incus:index/NetworkLoadBalancerBackend:NetworkLoadBalancerBackend"
},
"description": "Network load balancer backend\n"
},
"config": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"description": {
"type": "string"
},
"listenAddress": {
"type": "string"
},
"network": {
"type": "string"
},
"ports": {
"type": "array",
"items": {
"$ref": "#/types/incus:index/NetworkLoadBalancerPort:NetworkLoadBalancerPort"
},
"description": "Network load balancer port\n"
},
"project": {
"type": "string"
},
"remote": {
"type": "string"
}
},
"requiredInputs": [
"listenAddress",
"network"
],
"stateInputs": {
"description": "Input properties used for looking up and filtering NetworkLoadBalancer resources.\n",
"properties": {
"backends": {
"type": "array",
"items": {
"$ref": "#/types/incus:index/NetworkLoadBalancerBackend:NetworkLoadBalancerBackend"
},
"description": "Network load balancer backend\n"
},
"config": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"description": {
"type": "string"
},
"listenAddress": {
"type": "string"
},
"network": {
"type": "string"
},
"ports": {
"type": "array",
"items": {
"$ref": "#/types/incus:index/NetworkLoadBalancerPort:NetworkLoadBalancerPort"
},
"description": "Network load balancer port\n"
},
"project": {
"type": "string"
},
"remote": {
"type": "string"
}
},
"type": "object"
}
},
"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",
"properties": {
"config": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "*Optional* - Configuration options as key/value pairs (only user.* custom keys supported)\n"
},
"description": {
"type": "string",
"description": "*Optional* - Description of the network peering\n"
},
"name": {
"type": "string",
"description": "**required** - Name of the network peering on the local network\n"
},
"network": {
"type": "string",
"description": "**Required** - Name of the local network.\n"
},
"project": {
"type": "string",
"description": "*Optional* - Name of the project where the network is located.\n",
"default": "default"
},
"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"
},
"status": {
"type": "string"
},
"targetIntegration": {
"type": "string"
},
"targetNetwork": {
"type": "string",
"description": "**required** - Which network to create a peering with (required at create time for local peers)\n"
},
"targetProject": {
"type": "string",
"description": "*Optional* - Which project the target network exists in (required at create time for local peers)\n"
},
"type": {
"type": "string",
"description": "*Optional* - Type of network peering\n"
}
},
"required": [
"config",
"description",
"name",
"project",
"status",
"targetIntegration",
"targetNetwork",
"targetProject",
"type"
],
"inputProperties": {
"config": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "*Optional* - Configuration options as key/value pairs (only user.* custom keys supported)\n"
},
"description": {
"type": "string",
"description": "*Optional* - Description of the network peering\n"
},
"name": {
"type": "string",
"description": "**required** - Name of the network peering on the local network\n"
},
"network": {
"type": "string",
"description": "**Required** - Name of the local network.\n"
},
"project": {
"type": "string",
"description": "*Optional* - Name of the project where the network is located.\n",
"default": "default"
},
"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"
},
"targetIntegration": {
"type": "string"
},
"targetNetwork": {
"type": "string",
"description": "**required** - Which network to create a peering with (required at create time for local peers)\n"
},
"targetProject": {
"type": "string",
"description": "*Optional* - Which project the target network exists in (required at create time for local peers)\n"
},
"type": {
"type": "string",
"description": "*Optional* - Type of network peering\n"
}
},
"stateInputs": {
"description": "Input properties used for looking up and filtering NetworkPeer resources.\n",
"properties": {
"config": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "*Optional* - Configuration options as key/value pairs (only user.* custom keys supported)\n"
},
"description": {
"type": "string",
"description": "*Optional* - Description of the network peering\n"
},
"name": {
"type": "string",
"description": "**required** - Name of the network peering on the local network\n"
},
"network": {
"type": "string",
"description": "**Required** - Name of the local network.\n"
},
"project": {
"type": "string",
"description": "*Optional* - Name of the project where the network is located.\n",
"default": "default"
},
"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"
},
"status": {
"type": "string"
},
"targetIntegration": {
"type": "string"
},
"targetNetwork": {
"type": "string",
"description": "**required** - Which network to create a peering with (required at create time for local peers)\n"
},
"targetProject": {
"type": "string",
"description": "*Optional* - Which project the target network exists in (required at create time for local peers)\n"
},
"type": {
"type": "string",
"description": "*Optional* - Type of network peering\n"
}
},
"type": "object"
}
},
"incus:index/networkZone:NetworkZone": {
"properties": {
"config": {
"type": "object",
"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": {
"type": "string",
"description": "*Optional* - 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 will be created.\n",
"default": "default"
},
"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": [
"config",
"description",
"name",
"project"
],
"inputProperties": {
"config": {
"type": "object",
"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": {
"type": "string",
"description": "*Optional* - 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 will be created.\n",
"default": "default"
},
"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"
}
},
"stateInputs": {
"description": "Input properties used for looking up and filtering NetworkZone resources.\n",
"properties": {
"config": {
"type": "object",
"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": {
"type": "string",
"description": "*Optional* - 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 will be created.\n",
"default": "default"
},
"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/networkZoneRecord:NetworkZoneRecord": {
"properties": {
"config": {
"type": "object",
"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": {
"type": "string",
"description": "*Optional* - Description of the network zone.\n"
},
"entries": {
"type": "array",
"items": {
"$ref": "#/types/incus:index/NetworkZoneRecordEntry:NetworkZoneRecordEntry"
},
"description": "*Optional* - Entry in network zone record - see below.\n"
},
"name": {
"type": "string",
"description": "**Required** - Name of the network zone record.\n"
},
"project": {
"type": "string",
"description": "*Optional* - Name of the project where the network zone record will be created.\n",
"default": "default"
},
"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"
},
"zone": {
"type": "string",
"description": "**Required** - Name of the zone to add the entries of this record.\n"
}
},
"required": [
"config",
"description",
"name",
"project",
"zone"
],
"inputProperties": {
"config": {
"type": "object",
"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": {
"type": "string",
"description": "*Optional* - Description of the network zone.\n"
},
"entries": {
"type": "array",
"items": {
"$ref": "#/types/incus:index/NetworkZoneRecordEntry:NetworkZoneRecordEntry"
},
"description": "*Optional* - Entry in network zone record - see below.\n"
},
"name": {
"type": "string",
"description": "**Required** - Name of the network zone record.\n"
},
"project": {
"type": "string",
"description": "*Optional* - Name of the project where the network zone record will be created.\n",
"default": "default"
},
"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"
},
"zone": {
"type": "string",
"description": "**Required** - Name of the zone to add the entries of this record.\n"
}
},
"requiredInputs": [
"zone"
],
"stateInputs": {
"description": "Input properties used for looking up and filtering NetworkZoneRecord resources.\n",
"properties": {
"config": {
"type": "object",
"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": {
"type": "string",
"description": "*Optional* - Description of the network zone.\n"
},
"entries": {
"type": "array",
"items": {
"$ref": "#/types/incus:index/NetworkZoneRecordEntry:NetworkZoneRecordEntry"
},
"description": "*Optional* - Entry in network zone record - see below.\n"
},
"name": {
"type": "string",
"description": "**Required** - Name of the network zone record.\n"
},
"project": {
"type": "string",
"description": "*Optional* - Name of the project where the network zone record will be created.\n",
"default": "default"
},
"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"
},
"zone": {
"type": "string",
"description": "**Required** - Name of the zone to add the entries of this record.\n"
}
},
"type": "object"
}
},
"incus:index/profile:Profile": {
"properties": {
"config": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "*Optional* - Map of key/value pairs of\n[instance config settings](https://linuxcontainers.org/incus/docs/main/reference/instance_options/).\n"
},
"description": {
"type": "string",
"description": "*Optional* - Description of the profile.\n"
},
"devices": {
"type": "array",
"items": {
"$ref": "#/types/incus:index/ProfileDevice:ProfileDevice"
},
"description": "*Optional* - Device definition. See reference below.\n"
},
"name": {
"type": "string",
"description": "**Required** - Name of the profile.\n"
},
"project": {
"type": "string",
"description": "*Optional* - Name of the project where the profile will be stored.\n",
"default": "default"
},
"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": [
"config",
"description",
"name",
"project"
],
"inputProperties": {
"config": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "*Optional* - Map of key/value pairs of\n[instance config settings](https://linuxcontainers.org/incus/docs/main/reference/instance_options/).\n"
},
"description": {
"type": "string",
"description": "*Optional* - Description of the profile.\n"
},
"devices": {
"type": "array",
"items": {
"$ref": "#/types/incus:index/ProfileDevice:ProfileDevice"
},
"description": "*Optional* - Device definition. See reference below.\n"
},
"name": {
"type": "string",
"description": "**Required** - Name of the profile.\n"
},
"project": {
"type": "string",
"description": "*Optional* - Name of the project where the profile will be stored.\n",
"default": "default"
},
"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"
}
},
"stateInputs": {
"description": "Input properties used for looking up and filtering Profile resources.\n",
"properties": {
"config": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "*Optional* - Map of key/value pairs of\n[instance config settings](https://linuxcontainers.org/incus/docs/main/reference/instance_options/).\n"
},
"description": {
"type": "string",
"description": "*Optional* - Description of the profile.\n"
},
"devices": {
"type": "array",
"items": {
"$ref": "#/types/incus:index/ProfileDevice:ProfileDevice"
},
"description": "*Optional* - Device definition. See reference below.\n"
},
"name": {
"type": "string",
"description": "**Required** - Name of the profile.\n"
},
"project": {
"type": "string",
"description": "*Optional* - Name of the project where the profile will be stored.\n",
"default": "default"
},
"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/project:Project": {
"properties": {
"config": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "*Optional* - Map of key/value pairs of [project config settings](https://linuxcontainers.org/incus/docs/main/reference/projects/).\n"
},
"description": {
"type": "string",
"description": "*Optional* - Description of the project.\n"
},
"name": {
"type": "string",
"description": "**Required** - Name of the project.\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": [
"config",
"description",
"name"
],
"inputProperties": {
"config": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "*Optional* - Map of key/value pairs of [project config settings](https://linuxcontainers.org/incus/docs/main/reference/projects/).\n"
},
"description": {
"type": "string",
"description": "*Optional* - Description of the project.\n"
},
"name": {
"type": "string",
"description": "**Required** - Name of the project.\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"
}
},
"stateInputs": {
"description": "Input properties used for looking up and filtering Project resources.\n",
"properties": {
"config": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "*Optional* - Map of key/value pairs of [project config settings](https://linuxcontainers.org/incus/docs/main/reference/projects/).\n"
},
"description": {
"type": "string",
"description": "*Optional* - Description of the project.\n"
},
"name": {
"type": "string",
"description": "**Required** - Name of the project.\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/storageBucket:StorageBucket": {
"properties": {
"config": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "*Optional* - Map of key/value pairs of\n[storage bucket config settings](https://linuxcontainers.org/incus/docs/main/howto/storage_buckets/#configure-storage-bucket-settings).\nConfig settings vary depending on the Storage Pool used.\n"
},
"description": {
"type": "string",
"description": "*Optional* - Description of the storage bucket.\n"
},
"location": {
"type": "string",
"description": "Name of the node where storage bucket was created. It could be useful with Incus in cluster mode.\n"
},
"name": {
"type": "string",
"description": "**Required** - Name of the storage bucket.\n"
},
"pool": {
"type": "string",
"description": "**Required** - Name of storage pool to host the storage bucket.\n"
},
"project": {
"type": "string",
"description": "*Optional* - Name of the project where the storage bucket will be stored.\n",
"default": "default"
},
"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"
},
"sourceFile": {
"type": "string",
"description": "*Optional* - Path to a backup file from which the bucket will be created.\n"
},
"target": {
"type": "string",
"description": "*Optional* - Specify a target node in a cluster.\n"
}
},
"required": [
"config",
"description",
"location",
"name",
"pool",
"project",
"target"
],
"inputProperties": {
"config": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "*Optional* - Map of key/value pairs of\n[storage bucket config settings](https://linuxcontainers.org/incus/docs/main/howto/storage_buckets/#configure-storage-bucket-settings).\nConfig settings vary depending on the Storage Pool used.\n"
},
"description": {
"type": "string",
"description": "*Optional* - Description of the storage bucket.\n"
},
"name": {
"type": "string",
"description": "**Required** - Name of the storage bucket.\n"
},
"pool": {
"type": "string",
"description": "**Required** - Name of storage pool to host the storage bucket.\n"
},
"project": {
"type": "string",
"description": "*Optional* - Name of the project where the storage bucket will be stored.\n",
"default": "default"
},
"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"
},
"sourceFile": {
"type": "string",
"description": "*Optional* - Path to a backup file from which the bucket will be created.\n"
},
"target": {
"type": "string",
"description": "*Optional* - Specify a target node in a cluster.\n"
}
},
"requiredInputs": [
"pool"
],
"stateInputs": {
"description": "Input properties used for looking up and filtering StorageBucket resources.\n",
"properties": {
"config": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "*Optional* - Map of key/value pairs of\n[storage bucket config settings](https://linuxcontainers.org/incus/docs/main/howto/storage_buckets/#configure-storage-bucket-settings).\nConfig settings vary depending on the Storage Pool used.\n"
},
"description": {
"type": "string",
"description": "*Optional* - Description of the storage bucket.\n"
},
"location": {
"type": "string",
"description": "Name of the node where storage bucket was created. It could be useful with Incus in cluster mode.\n"
},
"name": {
"type": "string",
"description": "**Required** - Name of the storage bucket.\n"
},
"pool": {
"type": "string",
"description": "**Required** - Name of storage pool to host the storage bucket.\n"
},
"project": {
"type": "string",
"description": "*Optional* - Name of the project where the storage bucket will be stored.\n",
"default": "default"
},
"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"
},
"sourceFile": {
"type": "string",
"description": "*Optional* - Path to a backup file from which the bucket will be created.\n"
},
"target": {
"type": "string",
"description": "*Optional* - Specify a target node in a cluster.\n"
}
},
"type": "object"
}
},
"incus:index/storageBucketKey:StorageBucketKey": {
"properties": {
"accessKey": {
"type": "string",
"description": "Access key of the storage bucket key.\n",
"secret": true
},
"description": {
"type": "string",
"description": "*Optional* - Description of the storage bucket key.\n"
},
"name": {
"type": "string",
"description": "**Required** - Name of the storage bucket key.\n"
},
"pool": {
"type": "string",
"description": "**Required** - Name of storage pool to host the storage bucket key.\n"
},
"project": {
"type": "string",
"description": "*Optional* - Name of the project where the storage bucket key will be stored.\n",
"default": "default"
},
"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"
},
"role": {
"type": "string",
"description": "*Optional* - Name of the role that controls the access rights for the\nkey. If not specified, the default role is used, as described in the [official documentation](https://linuxcontainers.org/incus/docs/main/howto/storage_buckets/#manage-storage-bucket-keys).\n"
},
"secretKey": {
"type": "string",
"description": "Secret key of the storage bucket key.\n",
"secret": true
},
"storageBucket": {
"type": "string",
"description": "**Required** - Name of the storage bucket.\n"
}
},
"required": [
"accessKey",
"description",
"name",
"pool",
"project",
"role",
"secretKey",
"storageBucket"
],
"inputProperties": {
"description": {
"type": "string",
"description": "*Optional* - Description of the storage bucket key.\n"
},
"name": {
"type": "string",
"description": "**Required** - Name of the storage bucket key.\n"
},
"pool": {
"type": "string",
"description": "**Required** - Name of storage pool to host the storage bucket key.\n"
},
"project": {
"type": "string",
"description": "*Optional* - Name of the project where the storage bucket key will be stored.\n",
"default": "default"
},
"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"
},
"role": {
"type": "string",
"description": "*Optional* - Name of the role that controls the access rights for the\nkey. If not specified, the default role is used, as described in the [official documentation](https://linuxcontainers.org/incus/docs/main/howto/storage_buckets/#manage-storage-bucket-keys).\n"
},
"storageBucket": {
"type": "string",
"description": "**Required** - Name of the storage bucket.\n"
}
},
"requiredInputs": [
"pool",
"storageBucket"
],
"stateInputs": {
"description": "Input properties used for looking up and filtering StorageBucketKey resources.\n",
"properties": {
"accessKey": {
"type": "string",
"description": "Access key of the storage bucket key.\n",
"secret": true
},
"description": {
"type": "string",
"description": "*Optional* - Description of the storage bucket key.\n"
},
"name": {
"type": "string",
"description": "**Required** - Name of the storage bucket key.\n"
},
"pool": {
"type": "string",
"description": "**Required** - Name of storage pool to host the storage bucket key.\n"
},
"project": {
"type": "string",
"description": "*Optional* - Name of the project where the storage bucket key will be stored.\n",
"default": "default"
},
"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"
},
"role": {
"type": "string",
"description": "*Optional* - Name of the role that controls the access rights for the\nkey. If not specified, the default role is used, as described in the [official documentation](https://linuxcontainers.org/incus/docs/main/howto/storage_buckets/#manage-storage-bucket-keys).\n"
},
"secretKey": {
"type": "string",
"description": "Secret key of the storage bucket key.\n",
"secret": true
},
"storageBucket": {
"type": "string",
"description": "**Required** - Name of the storage bucket.\n"
}
},
"type": "object"
}
},
"incus:index/storagePool:StoragePool": {
"properties": {
"config": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "*Optional* - Map of key/value pairs of\n[storage pool config settings](https://linuxcontainers.org/incus/docs/main/reference/storage_drivers/).\nConfig settings vary from driver to driver.\n"
},
"description": {
"type": "string",
"description": "*Optional* - Description of the storage pool.\n"
},
"driver": {
"type": "string",
"description": "**Required** - Storage Pool driver. Must be one of `dir`, `zfs`, `lvm`, `btrfs`, `ceph`, `cephfs`, or `cephobject`.\n"
},
"name": {
"type": "string",
"description": "**Required** - Name of the storage pool.\n"
},
"project": {
"type": "string",
"description": "*Optional* - Name of the project where the storage pool will be stored.\n",
"default": "default"
},
"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.\n"
}
},
"required": [
"config",
"description",
"driver",
"name",
"project"
],
"inputProperties": {
"config": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "*Optional* - Map of key/value pairs of\n[storage pool config settings](https://linuxcontainers.org/incus/docs/main/reference/storage_drivers/).\nConfig settings vary from driver to driver.\n"
},
"description": {
"type": "string",
"description": "*Optional* - Description of the storage pool.\n"
},
"driver": {
"type": "string",
"description": "**Required** - Storage Pool driver. Must be one of `dir`, `zfs`, `lvm`, `btrfs`, `ceph`, `cephfs`, or `cephobject`.\n"
},
"name": {
"type": "string",
"description": "**Required** - Name of the storage pool.\n"
},
"project": {
"type": "string",
"description": "*Optional* - Name of the project where the storage pool will be stored.\n",
"default": "default"
},
"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.\n"
}
},
"requiredInputs": [
"driver"
],
"stateInputs": {
"description": "Input properties used for looking up and filtering StoragePool resources.\n",
"properties": {
"config": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "*Optional* - Map of key/value pairs of\n[storage pool config settings](https://linuxcontainers.org/incus/docs/main/reference/storage_drivers/).\nConfig settings vary from driver to driver.\n"
},
"description": {
"type": "string",
"description": "*Optional* - Description of the storage pool.\n"
},
"driver": {
"type": "string",
"description": "**Required** - Storage Pool driver. Must be one of `dir`, `zfs`, `lvm`, `btrfs`, `ceph`, `cephfs`, or `cephobject`.\n"
},
"name": {
"type": "string",
"description": "**Required** - Name of the storage pool.\n"
},
"project": {
"type": "string",
"description": "*Optional* - Name of the project where the storage pool will be stored.\n",
"default": "default"
},
"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.\n"
}
},
"type": "object"
}
},
"incus:index/storageVolume:StorageVolume": {
"properties": {
"config": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "*Optional* - Map of key/value pairs of\n[volume config settings](https://linuxcontainers.org/incus/docs/main/reference/storage_drivers/).\nConfig settings vary depending on the Storage Pool used.\n"
},
"contentType": {
"type": "string",
"description": "*Optional* - Volume content type (`filesystem` or `block`)\n"
},
"description": {
"type": "string",
"description": "*Optional* - Description of the volume.\n"
},
"location": {
"type": "string",
"description": "Name of the node where volume was created. It could be useful with Incus in cluster mode.\n"
},
"name": {
"type": "string",
"description": "**Required** - Name of the storage volume.\n"
},
"pool": {
"type": "string",
"description": "**Required** - Name of storage pool to host the volume.\n"
},
"project": {
"type": "string",
"description": "*Optional* - Name of the project where the volume will be stored.\n",
"default": "default"
},
"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"
},
"sourceFile": {
"type": "string",
"description": "*Optional* - Path to a backup file from which the volume will be created.\n"
},
"sourceVolume": {
"$ref": "#/types/incus:index/StorageVolumeSourceVolume:StorageVolumeSourceVolume",
"description": "*Optional* - The source volume from which the volume will be created. See reference below.\n"
},
"target": {
"type": "string",
"description": "*Optional* - Specify a target node in a cluster.\n"
},
"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"
}
},
"required": [
"config",
"contentType",
"description",
"location",
"name",
"pool",
"project",
"target",
"type"
],
"inputProperties": {
"config": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "*Optional* - Map of key/value pairs of\n[volume config settings](https://linuxcontainers.org/incus/docs/main/reference/storage_drivers/).\nConfig settings vary depending on the Storage Pool used.\n"
},
"contentType": {
"type": "string",
"description": "*Optional* - Volume content type (`filesystem` or `block`)\n"
},
"description": {
"type": "string",
"description": "*Optional* - Description of the volume.\n"
},
"name": {
"type": "string",
"description": "**Required** - Name of the storage volume.\n"
},
"pool": {
"type": "string",
"description": "**Required** - Name of storage pool to host the volume.\n"
},
"project": {
"type": "string",
"description": "*Optional* - Name of the project where the volume will be stored.\n",
"default": "default"
},
"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"
},
"sourceFile": {
"type": "string",
"description": "*Optional* - Path to a backup file from which the volume will be created.\n"
},
"sourceVolume": {
"$ref": "#/types/incus:index/StorageVolumeSourceVolume:StorageVolumeSourceVolume",
"description": "*Optional* - The source volume from which the volume will be created. See reference below.\n"
},
"target": {
"type": "string",
"description": "*Optional* - Specify a target node in a cluster.\n"
},
"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"
}
},
"requiredInputs": [
"pool"
],
"stateInputs": {
"description": "Input properties used for looking up and filtering StorageVolume resources.\n",
"properties": {
"config": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "*Optional* - Map of key/value pairs of\n[volume config settings](https://linuxcontainers.org/incus/docs/main/reference/storage_drivers/).\nConfig settings vary depending on the Storage Pool used.\n"
},
"contentType": {
"type": "string",
"description": "*Optional* - Volume content type (`filesystem` or `block`)\n"
},
"description": {
"type": "string",
"description": "*Optional* - Description of the volume.\n"
},
"location": {
"type": "string",
"description": "Name of the node where volume was created. It could be useful with Incus in cluster mode.\n"
},
"name": {
"type": "string",
"description": "**Required** - Name of the storage volume.\n"
},
"pool": {
"type": "string",
"description": "**Required** - Name of storage pool to host the volume.\n"
},
"project": {
"type": "string",
"description": "*Optional* - Name of the project where the volume will be stored.\n",
"default": "default"
},
"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"
},
"sourceFile": {
"type": "string",
"description": "*Optional* - Path to a backup file from which the volume will be created.\n"
},
"sourceVolume": {
"$ref": "#/types/incus:index/StorageVolumeSourceVolume:StorageVolumeSourceVolume",
"description": "*Optional* - The source volume from which the volume will be created. See reference below.\n"
},
"target": {
"type": "string",
"description": "*Optional* - Specify a target node in a cluster.\n"
},
"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"
}
},
"type": "object"
}
}
},
"functions": {
"incus:index/getImage:getImage": {
"description": "## # incus.Image\n\nProvides information about an Incus image.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as incus from \"@kiterun/incus\";\nimport * as incus from \"@pulumi/incus\";\n\nconst debianCustom = incus.getImage({\n name: \"debian_custom\",\n});\nconst d1 = new incus.Instance(\"d1\", {\n image: debianCustom.then(debianCustom =\u003e debianCustom.fingerprint),\n name: \"d1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_incus as incus\n\ndebian_custom = incus.get_image(name=\"debian_custom\")\nd1 = incus.Instance(\"d1\",\n image=debian_custom.fingerprint,\n name=\"d1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Incus = Pulumi.Incus;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var debianCustom = Incus.GetImage.Invoke(new()\n {\n Name = \"debian_custom\",\n });\n\n var d1 = new Incus.Instance(\"d1\", new()\n {\n Image = debianCustom.Apply(getImageResult =\u003e getImageResult.Fingerprint),\n Name = \"d1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"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": {
"architecture": {
"type": "string",
"description": "*Optional* - The image architecture (e.g. x86_64, aarch64). See [Architectures](https://linuxcontainers.org/incus/docs/main/architectures/) for all possible values.\n"
},
"fingerprint": {
"type": "string",
"description": "*Optional* - Fingerprint of the image.\n"
},
"name": {
"type": "string",
"description": "*Optional* - Name of the image.\n"
},
"project": {
"type": "string",
"description": "*Optional* - Name of the project where the image is 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": {
"type": "string",
"description": "*Optional* - Type of image. Must be one of `container` or `virtual-machine`.\n"
}
},
"type": "object"
},
"outputs": {
"description": "A collection of values returned by getImage.\n",
"properties": {
"aliases": {
"description": "The list of aliases for the image.\n",
"items": {
"type": "string"
},
"type": "array"
},
"architecture": {
"type": "string"
},
"createdAt": {
"description": "The datetime of image creation, in Unix time.\n",
"type": "integer"
},
"fingerprint": {
"type": "string"
},
"id": {
"description": "The provider-assigned unique ID for this managed resource.\n",
"type": "string"
},
"name": {
"type": "string"
},
"project": {
"type": "string"
},
"remote": {
"type": "string"
},
"type": {
"type": "string"
}
},
"required": [
"aliases",
"architecture",
"createdAt",
"fingerprint",
"type",
"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",
"inputs": {
"description": "A collection of arguments for invoking getProfile.\n",
"properties": {
"devices": {
"type": "array",
"items": {
"$ref": "#/types/incus:index/getProfileDevice:getProfileDevice"
},
"description": "Device definition. See reference below.\n"
},
"name": {
"type": "string",
"description": "**Required** - Name of the profile.\n"
},
"project": {
"type": "string",
"description": "*Optional* - Name of the project where the profile will 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 getProfile.\n",
"properties": {
"config": {
"additionalProperties": {
"type": "string"
},
"description": "Map of key/value pairs of\n[instance config settings](https://linuxcontainers.org/incus/docs/main/reference/instance_options/).\n",
"type": "object"
},
"description": {
"type": "string"
},
"devices": {
"description": "Device definition. 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",
"type": "string"
},
"name": {
"description": "Name of the device.\n",
"type": "string"
},
"project": {
"type": "string"
},
"remote": {
"type": "string"
}
},
"required": [
"config",
"description",
"name",
"id"
],
"type": "object"
}
},
"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",
"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"
},
"name": {
"type": "string",
"description": "**Required** - Name of the project.\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 getProject.\n",
"properties": {
"config": {
"additionalProperties": {
"type": "string"
},
"description": "Map of key/value pairs of\n[instance config settings](https://linuxcontainers.org/incus/docs/main/reference/instance_options/).\n",
"type": "object"
},
"description": {
"description": "Description of the project.\n",
"type": "string"
},
"id": {
"description": "The provider-assigned unique ID for this managed resource.\n",
"type": "string"
},
"name": {
"type": "string"
},
"remote": {
"type": "string"
}
},
"required": [
"config",
"description",
"name",
"id"
],
"type": "object"
}
}
}
}