{"name":"lxd","version":"2.7.0","description":"A Pulumi provider dynamically bridged from lxd.","attribution":"This Pulumi package is based on the [`lxd` Terraform Provider](https://github.com/terraform-lxd/terraform-provider-lxd).","repository":"https://github.com/terraform-lxd/terraform-provider-lxd","publisher":"terraform-lxd","meta":{"moduleFormat":"(.*)(?:/[^/]*)"},"language":{"csharp":{"compatibility":"tfbridge20","liftSingleValueMethodReturns":true,"respectSchemaVersion":true},"go":{"generateExtraInputTypes":true,"importBasePath":"github.com/pulumi/pulumi-terraform-provider/sdks/go/lxd/v2/lxd","liftSingleValueMethodReturns":true,"respectSchemaVersion":true,"rootPackageName":"lxd"},"java":{"basePackage":"","buildFiles":"","gradleNexusPublishPluginVersion":"","gradleTest":""},"nodejs":{"compatibility":"tfbridge20","disableUnionOutputTypes":true,"liftSingleValueMethodReturns":true,"packageDescription":"A Pulumi provider dynamically bridged from lxd.","readme":"\u003e This provider is a derived work of the [Terraform Provider](https://github.com/terraform-lxd/terraform-provider-lxd)\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 please consult the source [`terraform-provider-lxd` repo](https://github.com/terraform-lxd/terraform-provider-lxd/issues).","respectSchemaVersion":true},"python":{"compatibility":"tfbridge20","pyproject":{"enabled":true},"readme":"\u003e This provider is a derived work of the [Terraform Provider](https://github.com/terraform-lxd/terraform-provider-lxd)\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 please consult the source [`terraform-provider-lxd` repo](https://github.com/terraform-lxd/terraform-provider-lxd/issues).","respectSchemaVersion":true}},"config":{"variables":{"acceptRemoteCertificate":{"type":"boolean","description":"Accept the server certificate."},"configDir":{"type":"string","description":"The directory to look for existing LXD configuration. (default = $HOME/snap/lxd/common/config:$HOME/.config/lxc)"},"generateClientCertificates":{"type":"boolean","description":"Automatically generate the LXD client certificates if they don't exist."},"remotes":{"type":"array","items":{"$ref":"#/types/lxd:config%2Fremotes:remotes"},"description":"LXD Remote"}}},"types":{"lxd:config/remotes:remotes":{"properties":{"address":{"type":"string","description":"The FQDN or IP where the LXD daemon can be contacted. (default = \"\")\n"},"default":{"type":"boolean","description":"Set this remote as default.\n"},"name":{"type":"string","description":"Name of the LXD remote. Required when\u003cspan pulumi-lang-nodejs=\" lxdScheme \" pulumi-lang-dotnet=\" LxdScheme \" pulumi-lang-go=\" lxdScheme \" pulumi-lang-python=\" lxd_scheme \" pulumi-lang-yaml=\" lxdScheme \" pulumi-lang-java=\" lxdScheme \"\u003e lxd_scheme \u003c/span\u003eset to https, to enable locating server certificate.\n"},"password":{"type":"string","description":"The trust password used for initial authentication with the LXD remote.\n","secret":true},"port":{"type":"string","description":"Port LXD Daemon API is listening on. (default = 8443)\n"},"protocol":{"type":"string","description":"Remote protocol\n"},"scheme":{"type":"string","description":"Unix (unix) or HTTPs (https). (default = unix)\n"},"token":{"type":"string","description":"The trust token used for initial authentication with the LXD remote.\n","secret":true}},"type":"object","required":["name"],"language":{"nodejs":{"requiredInputs":[]}}},"lxd:index/AuthGroupPermission:AuthGroupPermission":{"properties":{"entitlement":{"type":"string","description":"**Required** - Entitlement granted against the specified entity type. Available values depend on the \u003cspan pulumi-lang-nodejs=\"`entityType`\" pulumi-lang-dotnet=\"`EntityType`\" pulumi-lang-go=\"`entityType`\" pulumi-lang-python=\"`entity_type`\" pulumi-lang-yaml=\"`entityType`\" pulumi-lang-java=\"`entityType`\"\u003e`entity_type`\u003c/span\u003e. Examples: \u003cspan pulumi-lang-nodejs=\"`canEdit`\" pulumi-lang-dotnet=\"`CanEdit`\" pulumi-lang-go=\"`canEdit`\" pulumi-lang-python=\"`can_edit`\" pulumi-lang-yaml=\"`canEdit`\" pulumi-lang-java=\"`canEdit`\"\u003e`can_edit`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`canView`\" pulumi-lang-dotnet=\"`CanView`\" pulumi-lang-go=\"`canView`\" pulumi-lang-python=\"`can_view`\" pulumi-lang-yaml=\"`canView`\" pulumi-lang-java=\"`canView`\"\u003e`can_view`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`canDelete`\" pulumi-lang-dotnet=\"`CanDelete`\" pulumi-lang-go=\"`canDelete`\" pulumi-lang-python=\"`can_delete`\" pulumi-lang-yaml=\"`canDelete`\" pulumi-lang-java=\"`canDelete`\"\u003e`can_delete`\u003c/span\u003e.\n"},"entityArgs":{"type":"object","additionalProperties":{"type":"string"},"description":"**Optional** - Map of key-value pairs used to identify a specific entity. Available keys depend on the \u003cspan pulumi-lang-nodejs=\"`entityType`\" pulumi-lang-dotnet=\"`EntityType`\" pulumi-lang-go=\"`entityType`\" pulumi-lang-python=\"`entity_type`\" pulumi-lang-yaml=\"`entityType`\" pulumi-lang-java=\"`entityType`\"\u003e`entity_type`\u003c/span\u003e, and are not required for certain entity types, such as \u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\"\u003e`server`\u003c/span\u003e.\n"},"entityType":{"type":"string","description":"**Required** - Entity type represents LXD API resource. Examples: \u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\"\u003e`server`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`instance`\" pulumi-lang-dotnet=\"`Instance`\" pulumi-lang-go=\"`instance`\" pulumi-lang-python=\"`instance`\" pulumi-lang-yaml=\"`instance`\" pulumi-lang-java=\"`instance`\"\u003e`instance`\u003c/span\u003e.\n"}},"type":"object","required":["entitlement","entityType"]},"lxd: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://documentation.ubuntu.com/lxd/latest/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"]},"lxd:index/InstanceExecs:InstanceExecs":{"properties":{"commands":{"type":"array","items":{"type":"string"},"description":"**Required** - The command to be executed and its arguments, if any (list of strings).\n"},"enabled":{"type":"boolean","description":"*Optional* - Boolean indicating whether the command should be executed.\nDefaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"environment":{"type":"object","additionalProperties":{"type":"string"},"description":"*Optional* - Map of additional environment variables.\n(Variables `PATH`, `LANG`, `HOME`, and `USER` are set by default, unless passed by the user.)\n"},"exitCode":{"type":"number","description":"Exit code of the command\n"},"failOnError":{"type":"boolean","description":"*Optional* - Boolean indicating whether resource provisioning should stop upon\nencountering an error during command execution. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"gid":{"type":"number","description":"*Optional* - The group ID for running command. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e (root).\n\n\u003e **Note:** Command will be executed only when it is enabled, trigger condition is met,\nand instance is running (or started).\n"},"recordOutput":{"type":"boolean","description":"*Optional* - When set to true, \u003cspan pulumi-lang-nodejs=\"`stdout`\" pulumi-lang-dotnet=\"`Stdout`\" pulumi-lang-go=\"`stdout`\" pulumi-lang-python=\"`stdout`\" pulumi-lang-yaml=\"`stdout`\" pulumi-lang-java=\"`stdout`\"\u003e`stdout`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`stderr`\" pulumi-lang-dotnet=\"`Stderr`\" pulumi-lang-go=\"`stderr`\" pulumi-lang-python=\"`stderr`\" pulumi-lang-yaml=\"`stderr`\" pulumi-lang-java=\"`stderr`\"\u003e`stderr`\u003c/span\u003e attributes will be\npopulated (exported). Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"runCount":{"type":"number","description":"Internal run count indicating how many times the command was executed\n"},"stderr":{"type":"string","description":"Command standard error (if recorded)\n"},"stdout":{"type":"string","description":"Command standard output (if recorded)\n"},"trigger":{"type":"string","description":"*Optional* - Determines when the command should be executed.\nAvailable values are:\n"},"uid":{"type":"number","description":"*Optional* - The user ID for running command. Defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e (root).\n"},"workingDir":{"type":"string","description":"*Optional* - The directory in which the command should run.\n"}},"type":"object","required":["commands"],"language":{"nodejs":{"requiredOutputs":["commands","enabled","environment","exitCode","failOnError","recordOutput","runCount","stderr","stdout","trigger","workingDir"]}}},"lxd:index/InstanceFile:InstanceFile":{"properties":{"append":{"type":"boolean"},"content":{"type":"string","description":"*__Required__ unless\u003cspan pulumi-lang-nodejs=\" sourcePath \" pulumi-lang-dotnet=\" SourcePath \" pulumi-lang-go=\" sourcePath \" pulumi-lang-python=\" source_path \" pulumi-lang-yaml=\" sourcePath \" pulumi-lang-java=\" sourcePath \"\u003e source_path \u003c/span\u003eis used* - The _contents_ of the file.\nUse the `file()` function to read in the content of a file from disk.\n"},"createDirectories":{"type":"boolean","description":"*Optional* - Whether to create the directories leading\nto the target if they do not exist.\n"},"gid":{"type":"number","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 \u003cspan pulumi-lang-nodejs=\"`0755`\" pulumi-lang-dotnet=\"`0755`\" pulumi-lang-go=\"`0755`\" pulumi-lang-python=\"`0755`\" pulumi-lang-yaml=\"`0755`\" pulumi-lang-java=\"`0755`\"\u003e`0755`\u003c/span\u003e.\n"},"sourcePath":{"type":"string","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":"number","description":"*Optional* - The UID of the file. Must be an unquoted integer.\n"}},"type":"object","required":["targetPath"],"language":{"nodejs":{"requiredOutputs":["append","mode","targetPath"]}}},"lxd:index/InstanceInterfaces:InstanceInterfaces":{"properties":{"ips":{"type":"array","items":{"$ref":"#/types/lxd:index%2FInstanceInterfacesIp:InstanceInterfacesIp"},"description":"IP addresses assigned to the interface\n"},"name":{"type":"string","description":"**Required** - Name of the instance.\n"},"state":{"type":"string","description":"State of the network interface (up, down)\n"},"type":{"type":"string","description":"*Optional* -  Instance type. Can be \u003cspan pulumi-lang-nodejs=\"`container`\" pulumi-lang-dotnet=\"`Container`\" pulumi-lang-go=\"`container`\" pulumi-lang-python=\"`container`\" pulumi-lang-yaml=\"`container`\" pulumi-lang-java=\"`container`\"\u003e`container`\u003c/span\u003e, or `virtual-machine`. Defaults to \u003cspan pulumi-lang-nodejs=\"`container`\" pulumi-lang-dotnet=\"`Container`\" pulumi-lang-go=\"`container`\" pulumi-lang-python=\"`container`\" pulumi-lang-yaml=\"`container`\" pulumi-lang-java=\"`container`\"\u003e`container`\u003c/span\u003e.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["ips","name","state","type"]}}},"lxd:index/InstanceInterfacesIp:InstanceInterfacesIp":{"properties":{"address":{"type":"string","description":"IP address\n"},"family":{"type":"string","description":"IP family (inet, inet6)\n"},"scope":{"type":"string","description":"Scope (local, global, link)\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["address","family","scope"]}}},"lxd:index/InstanceTimeouts:InstanceTimeouts":{"properties":{"create":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"},"delete":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.\n"},"read":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Read operations occur during any refresh or planning operation when refresh is enabled.\n"},"update":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"}},"type":"object"},"lxd:index/NetworkAclEgress:NetworkAclEgress":{"properties":{"action":{"type":"string","description":"**Required** - Action to take for the matching traffic. Possible values are \u003cspan pulumi-lang-nodejs=\"`allow`\" pulumi-lang-dotnet=\"`Allow`\" pulumi-lang-go=\"`allow`\" pulumi-lang-python=\"`allow`\" pulumi-lang-yaml=\"`allow`\" pulumi-lang-java=\"`allow`\"\u003e`allow`\u003c/span\u003e, `allow-stateless`, \u003cspan pulumi-lang-nodejs=\"`drop`\" pulumi-lang-dotnet=\"`Drop`\" pulumi-lang-go=\"`drop`\" pulumi-lang-python=\"`drop`\" pulumi-lang-yaml=\"`drop`\" pulumi-lang-java=\"`drop`\"\u003e`drop`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`reject`\" pulumi-lang-dotnet=\"`Reject`\" pulumi-lang-go=\"`reject`\" pulumi-lang-python=\"`reject`\" pulumi-lang-yaml=\"`reject`\" pulumi-lang-java=\"`reject`\"\u003e`reject`\u003c/span\u003e.\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 leave the value empty for any.\n"},"destinationPort":{"type":"string","description":"*Optional* - If the protocol is \u003cspan pulumi-lang-nodejs=\"`udp`\" pulumi-lang-dotnet=\"`Udp`\" pulumi-lang-go=\"`udp`\" pulumi-lang-python=\"`udp`\" pulumi-lang-yaml=\"`udp`\" pulumi-lang-java=\"`udp`\"\u003e`udp`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\"\u003e`tcp`\u003c/span\u003e you can specify a comma-separated list of ports or port ranges (start-end), or leave the value empty for any.\n"},"icmpCode":{"type":"string","description":"*Optional* - If the protocol is \u003cspan pulumi-lang-nodejs=\"`icmp4`\" pulumi-lang-dotnet=\"`Icmp4`\" pulumi-lang-go=\"`icmp4`\" pulumi-lang-python=\"`icmp4`\" pulumi-lang-yaml=\"`icmp4`\" pulumi-lang-java=\"`icmp4`\"\u003e`icmp4`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`icmp6`\" pulumi-lang-dotnet=\"`Icmp6`\" pulumi-lang-go=\"`icmp6`\" pulumi-lang-python=\"`icmp6`\" pulumi-lang-yaml=\"`icmp6`\" pulumi-lang-java=\"`icmp6`\"\u003e`icmp6`\u003c/span\u003e you can specify the ICMP code number, or leave the value empty for any.\n"},"icmpType":{"type":"string","description":"*Optional* - If the protocol is \u003cspan pulumi-lang-nodejs=\"`icmp4`\" pulumi-lang-dotnet=\"`Icmp4`\" pulumi-lang-go=\"`icmp4`\" pulumi-lang-python=\"`icmp4`\" pulumi-lang-yaml=\"`icmp4`\" pulumi-lang-java=\"`icmp4`\"\u003e`icmp4`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`icmp6`\" pulumi-lang-dotnet=\"`Icmp6`\" pulumi-lang-go=\"`icmp6`\" pulumi-lang-python=\"`icmp6`\" pulumi-lang-yaml=\"`icmp6`\" pulumi-lang-java=\"`icmp6`\"\u003e`icmp6`\u003c/span\u003e you can specify the ICMP type number, or leave the value empty for any.\n"},"protocol":{"type":"string","description":"*Optional* - Protocol to match. Possible values are \u003cspan pulumi-lang-nodejs=\"`icmp4`\" pulumi-lang-dotnet=\"`Icmp4`\" pulumi-lang-go=\"`icmp4`\" pulumi-lang-python=\"`icmp4`\" pulumi-lang-yaml=\"`icmp4`\" pulumi-lang-java=\"`icmp4`\"\u003e`icmp4`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`icmp6`\" pulumi-lang-dotnet=\"`Icmp6`\" pulumi-lang-go=\"`icmp6`\" pulumi-lang-python=\"`icmp6`\" pulumi-lang-yaml=\"`icmp6`\" pulumi-lang-java=\"`icmp6`\"\u003e`icmp6`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\"\u003e`tcp`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`udp`\" pulumi-lang-dotnet=\"`Udp`\" pulumi-lang-go=\"`udp`\" pulumi-lang-python=\"`udp`\" pulumi-lang-yaml=\"`udp`\" pulumi-lang-java=\"`udp`\"\u003e`udp`\u003c/span\u003e. Leave the value empty for any protocol.\n"},"source":{"type":"string","description":"*Optional* - Comma-separated list of CIDR or IP ranges, source subject name selectors (for ingress rules), or leave the value empty for any.\n"},"state":{"type":"string","description":"*Optional* - State of the rule. Possible values are \u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\"\u003e`enabled`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`disabled`\" pulumi-lang-dotnet=\"`Disabled`\" pulumi-lang-go=\"`disabled`\" pulumi-lang-python=\"`disabled`\" pulumi-lang-yaml=\"`disabled`\" pulumi-lang-java=\"`disabled`\"\u003e`disabled`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`logged`\" pulumi-lang-dotnet=\"`Logged`\" pulumi-lang-go=\"`logged`\" pulumi-lang-python=\"`logged`\" pulumi-lang-yaml=\"`logged`\" pulumi-lang-java=\"`logged`\"\u003e`logged`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\"\u003e`enabled`\u003c/span\u003e.\n"}},"type":"object","required":["action","state"],"language":{"nodejs":{"requiredOutputs":["action","description","destination","destinationPort","icmpCode","icmpType","protocol","source","state"]}}},"lxd:index/NetworkAclIngress:NetworkAclIngress":{"properties":{"action":{"type":"string","description":"**Required** - Action to take for the matching traffic. Possible values are \u003cspan pulumi-lang-nodejs=\"`allow`\" pulumi-lang-dotnet=\"`Allow`\" pulumi-lang-go=\"`allow`\" pulumi-lang-python=\"`allow`\" pulumi-lang-yaml=\"`allow`\" pulumi-lang-java=\"`allow`\"\u003e`allow`\u003c/span\u003e, `allow-stateless`, \u003cspan pulumi-lang-nodejs=\"`drop`\" pulumi-lang-dotnet=\"`Drop`\" pulumi-lang-go=\"`drop`\" pulumi-lang-python=\"`drop`\" pulumi-lang-yaml=\"`drop`\" pulumi-lang-java=\"`drop`\"\u003e`drop`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`reject`\" pulumi-lang-dotnet=\"`Reject`\" pulumi-lang-go=\"`reject`\" pulumi-lang-python=\"`reject`\" pulumi-lang-yaml=\"`reject`\" pulumi-lang-java=\"`reject`\"\u003e`reject`\u003c/span\u003e.\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 leave the value empty for any.\n"},"destinationPort":{"type":"string","description":"*Optional* - If the protocol is \u003cspan pulumi-lang-nodejs=\"`udp`\" pulumi-lang-dotnet=\"`Udp`\" pulumi-lang-go=\"`udp`\" pulumi-lang-python=\"`udp`\" pulumi-lang-yaml=\"`udp`\" pulumi-lang-java=\"`udp`\"\u003e`udp`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\"\u003e`tcp`\u003c/span\u003e you can specify a comma-separated list of ports or port ranges (start-end), or leave the value empty for any.\n"},"icmpCode":{"type":"string","description":"*Optional* - If the protocol is \u003cspan pulumi-lang-nodejs=\"`icmp4`\" pulumi-lang-dotnet=\"`Icmp4`\" pulumi-lang-go=\"`icmp4`\" pulumi-lang-python=\"`icmp4`\" pulumi-lang-yaml=\"`icmp4`\" pulumi-lang-java=\"`icmp4`\"\u003e`icmp4`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`icmp6`\" pulumi-lang-dotnet=\"`Icmp6`\" pulumi-lang-go=\"`icmp6`\" pulumi-lang-python=\"`icmp6`\" pulumi-lang-yaml=\"`icmp6`\" pulumi-lang-java=\"`icmp6`\"\u003e`icmp6`\u003c/span\u003e you can specify the ICMP code number, or leave the value empty for any.\n"},"icmpType":{"type":"string","description":"*Optional* - If the protocol is \u003cspan pulumi-lang-nodejs=\"`icmp4`\" pulumi-lang-dotnet=\"`Icmp4`\" pulumi-lang-go=\"`icmp4`\" pulumi-lang-python=\"`icmp4`\" pulumi-lang-yaml=\"`icmp4`\" pulumi-lang-java=\"`icmp4`\"\u003e`icmp4`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`icmp6`\" pulumi-lang-dotnet=\"`Icmp6`\" pulumi-lang-go=\"`icmp6`\" pulumi-lang-python=\"`icmp6`\" pulumi-lang-yaml=\"`icmp6`\" pulumi-lang-java=\"`icmp6`\"\u003e`icmp6`\u003c/span\u003e you can specify the ICMP type number, or leave the value empty for any.\n"},"protocol":{"type":"string","description":"*Optional* - Protocol to match. Possible values are \u003cspan pulumi-lang-nodejs=\"`icmp4`\" pulumi-lang-dotnet=\"`Icmp4`\" pulumi-lang-go=\"`icmp4`\" pulumi-lang-python=\"`icmp4`\" pulumi-lang-yaml=\"`icmp4`\" pulumi-lang-java=\"`icmp4`\"\u003e`icmp4`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`icmp6`\" pulumi-lang-dotnet=\"`Icmp6`\" pulumi-lang-go=\"`icmp6`\" pulumi-lang-python=\"`icmp6`\" pulumi-lang-yaml=\"`icmp6`\" pulumi-lang-java=\"`icmp6`\"\u003e`icmp6`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\"\u003e`tcp`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`udp`\" pulumi-lang-dotnet=\"`Udp`\" pulumi-lang-go=\"`udp`\" pulumi-lang-python=\"`udp`\" pulumi-lang-yaml=\"`udp`\" pulumi-lang-java=\"`udp`\"\u003e`udp`\u003c/span\u003e. Leave the value empty for any protocol.\n"},"source":{"type":"string","description":"*Optional* - Comma-separated list of CIDR or IP ranges, source subject name selectors (for ingress rules), or leave the value empty for any.\n"},"state":{"type":"string","description":"*Optional* - State of the rule. Possible values are \u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\"\u003e`enabled`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`disabled`\" pulumi-lang-dotnet=\"`Disabled`\" pulumi-lang-go=\"`disabled`\" pulumi-lang-python=\"`disabled`\" pulumi-lang-yaml=\"`disabled`\" pulumi-lang-java=\"`disabled`\"\u003e`disabled`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`logged`\" pulumi-lang-dotnet=\"`Logged`\" pulumi-lang-go=\"`logged`\" pulumi-lang-python=\"`logged`\" pulumi-lang-yaml=\"`logged`\" pulumi-lang-java=\"`logged`\"\u003e`logged`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\"\u003e`enabled`\u003c/span\u003e.\n"}},"type":"object","required":["action","state"],"language":{"nodejs":{"requiredOutputs":["action","description","destination","destinationPort","icmpCode","icmpType","protocol","source","state"]}}},"lxd: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). Possible values are \u003cspan pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\"\u003e`tcp`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`udp`\" pulumi-lang-dotnet=\"`Udp`\" pulumi-lang-go=\"`udp`\" pulumi-lang-python=\"`udp`\" pulumi-lang-yaml=\"`udp`\" pulumi-lang-java=\"`udp`\"\u003e`udp`\u003c/span\u003e.\n"},"targetAddress":{"type":"string","description":"**Required** - IP address to forward to\n"},"targetPort":{"type":"string","description":"*Optional* - Target port(s) (e.g. `70,80-90` or \u003cspan pulumi-lang-nodejs=\"`90`\" pulumi-lang-dotnet=\"`90`\" pulumi-lang-go=\"`90`\" pulumi-lang-python=\"`90`\" pulumi-lang-yaml=\"`90`\" pulumi-lang-java=\"`90`\"\u003e`90`\u003c/span\u003e).\n"}},"type":"object","required":["listenPort","protocol","targetAddress"],"language":{"nodejs":{"requiredOutputs":["listenPort","protocol","targetAddress","targetPort"]}}},"lxd:index/NetworkLbBackend:NetworkLbBackend":{"properties":{"description":{"type":"string","description":"LB backend description\n"},"name":{"type":"string","description":"LB backend name\n"},"targetAddress":{"type":"string","description":"LB backend target address\n"},"targetPort":{"type":"string","description":"LB backend target port\n"}},"type":"object","required":["name","targetAddress"],"language":{"nodejs":{"requiredOutputs":["description","name","targetAddress"]}}},"lxd:index/NetworkLbPort:NetworkLbPort":{"properties":{"description":{"type":"string","description":"Port description\n"},"listenPort":{"type":"string","description":"Port to listen to\n"},"protocol":{"type":"string","description":"Port protocol\n"},"targetBackends":{"type":"array","items":{"type":"string"},"description":"List of target LB backends\n"}},"type":"object","required":["listenPort","targetBackends"],"language":{"nodejs":{"requiredOutputs":["description","listenPort","protocol","targetBackends"]}}},"lxd:index/NetworkZoneRecordEntry:NetworkZoneRecordEntry":{"properties":{"ttl":{"type":"number","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"]}}},"lxd: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://documentation.ubuntu.com/lxd/latest/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"]},"lxd:index/ProviderRemote:ProviderRemote":{"properties":{"address":{"type":"string","description":"The FQDN or IP where the LXD daemon can be contacted. (default = \"\")\n"},"default":{"type":"boolean","description":"Set this remote as default.\n"},"name":{"type":"string","description":"Name of the LXD remote. Required when\u003cspan pulumi-lang-nodejs=\" lxdScheme \" pulumi-lang-dotnet=\" LxdScheme \" pulumi-lang-go=\" lxdScheme \" pulumi-lang-python=\" lxd_scheme \" pulumi-lang-yaml=\" lxdScheme \" pulumi-lang-java=\" lxdScheme \"\u003e lxd_scheme \u003c/span\u003eset to https, to enable locating server certificate.\n"},"password":{"type":"string","description":"The trust password used for initial authentication with the LXD remote.\n","secret":true},"port":{"type":"string","description":"Port LXD Daemon API is listening on. (default = 8443)\n"},"protocol":{"type":"string","description":"Remote protocol\n"},"scheme":{"type":"string","description":"Unix (unix) or HTTPs (https). (default = unix)\n"},"token":{"type":"string","description":"The trust token used for initial authentication with the LXD remote.\n","secret":true}},"type":"object","required":["name"],"language":{"nodejs":{"requiredOutputs":[]}}},"lxd:index/getAuthGroupPermission:getAuthGroupPermission":{"properties":{"entitlement":{"type":"string"},"entityArgs":{"type":"object","additionalProperties":{"type":"string"}},"entityType":{"type":"string"}},"type":"object","required":["entitlement","entityArgs","entityType"],"language":{"nodejs":{"requiredInputs":[]}}},"lxd:index/getInfoClusterMembers:getInfoClusterMembers":{"properties":{"status":{"type":"string","description":"Cluster member status\n"},"url":{"type":"string","description":"Cluster member URL\n"}},"type":"object","required":["status","url"],"language":{"nodejs":{"requiredInputs":[]}}},"lxd:index/getInstanceDevices:getInstanceDevices":{"properties":{"properties":{"type":"object","additionalProperties":{"type":"string"}},"type":{"type":"string","description":"Instance type.\n"}},"type":"object","required":["properties","type"],"language":{"nodejs":{"requiredInputs":[]}}},"lxd:index/getInstanceInterfaces:getInstanceInterfaces":{"properties":{"ips":{"type":"array","items":{"$ref":"#/types/lxd:index%2FgetInstanceInterfacesIp:getInstanceInterfacesIp"}},"name":{"type":"string","description":"**Required** - Name of the instance.\n"},"state":{"type":"string"},"type":{"type":"string","description":"Instance type.\n"}},"type":"object","required":["ips","name","state","type"],"language":{"nodejs":{"requiredInputs":[]}}},"lxd:index/getInstanceInterfacesIp:getInstanceInterfacesIp":{"properties":{"address":{"type":"string"},"family":{"type":"string"},"scope":{"type":"string"}},"type":"object","required":["address","family","scope"],"language":{"nodejs":{"requiredInputs":[]}}},"lxd: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://documentation.ubuntu.com/lxd/latest/reference/devices/).\n"},"type":{"type":"string","description":"Type of the device.\n"}},"type":"object","required":["name","properties","type"],"language":{"nodejs":{"requiredInputs":[]}}}},"provider":{"description":"The provider type for the lxd 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":{"configDir":{"type":"string","description":"The directory to look for existing LXD configuration. (default = $HOME/snap/lxd/common/config:$HOME/.config/lxc)"}},"type":"object","inputProperties":{"acceptRemoteCertificate":{"type":"boolean","description":"Accept the server certificate."},"configDir":{"type":"string","description":"The directory to look for existing LXD configuration. (default = $HOME/snap/lxd/common/config:$HOME/.config/lxc)"},"generateClientCertificates":{"type":"boolean","description":"Automatically generate the LXD client certificates if they don't exist."},"remotes":{"type":"array","items":{"$ref":"#/types/lxd:index%2FProviderRemote:ProviderRemote"},"description":"LXD Remote"}},"methods":{"terraformConfig":"pulumi:providers:lxd/terraformConfig"}},"resources":{"lxd:index/authGroup:AuthGroup":{"properties":{"description":{"type":"string","description":"*Optional* - Description of the group.\n"},"name":{"type":"string","description":"**Required** - Name of the group.\n"},"permissions":{"type":"array","items":{"$ref":"#/types/lxd:index%2FAuthGroupPermission:AuthGroupPermission"},"description":"*Optional* - List of group permissions. If not specified, the group has no permissions. Please, refer to the [official LXD documentation](https://documentation.ubuntu.com/lxd/latest/reference/permissions/) for available entity types and entitlements that can be granted against each entity type.\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":["description","name","permissions"],"inputProperties":{"description":{"type":"string","description":"*Optional* - Description of the group.\n"},"name":{"type":"string","description":"**Required** - Name of the group.\n"},"permissions":{"type":"array","items":{"$ref":"#/types/lxd:index%2FAuthGroupPermission:AuthGroupPermission"},"description":"*Optional* - List of group permissions. If not specified, the group has no permissions. Please, refer to the [official LXD documentation](https://documentation.ubuntu.com/lxd/latest/reference/permissions/) for available entity types and entitlements that can be granted against each entity type.\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 AuthGroup resources.\n","properties":{"description":{"type":"string","description":"*Optional* - Description of the group.\n"},"name":{"type":"string","description":"**Required** - Name of the group.\n"},"permissions":{"type":"array","items":{"$ref":"#/types/lxd:index%2FAuthGroupPermission:AuthGroupPermission"},"description":"*Optional* - List of group permissions. If not specified, the group has no permissions. Please, refer to the [official LXD documentation](https://documentation.ubuntu.com/lxd/latest/reference/permissions/) for available entity types and entitlements that can be granted against each entity type.\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"}},"lxd:index/authIdentity:AuthIdentity":{"properties":{"authMethod":{"type":"string","description":"**Required** - Authentication method, can be either \u003cspan pulumi-lang-nodejs=\"`tls`\" pulumi-lang-dotnet=\"`Tls`\" pulumi-lang-go=\"`tls`\" pulumi-lang-python=\"`tls`\" pulumi-lang-yaml=\"`tls`\" pulumi-lang-java=\"`tls`\"\u003e`tls`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`bearer`\" pulumi-lang-dotnet=\"`Bearer`\" pulumi-lang-go=\"`bearer`\" pulumi-lang-python=\"`bearer`\" pulumi-lang-yaml=\"`bearer`\" pulumi-lang-java=\"`bearer`\"\u003e`bearer`\u003c/span\u003e.\n"},"groups":{"type":"array","items":{"type":"string"},"description":"*Optional* - List of group names to add this identity to.\n"},"name":{"type":"string","description":"**Required** - Name of the identity.\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"},"tlsCertificate":{"type":"string","description":"*Optional* - PEM encoded x509 certificate. Must be set when authentication method is \u003cspan pulumi-lang-nodejs=\"`tls`\" pulumi-lang-dotnet=\"`Tls`\" pulumi-lang-go=\"`tls`\" pulumi-lang-python=\"`tls`\" pulumi-lang-yaml=\"`tls`\" pulumi-lang-java=\"`tls`\"\u003e`tls`\u003c/span\u003e.\n","secret":true}},"type":"object","required":["authMethod","groups","name"],"inputProperties":{"authMethod":{"type":"string","description":"**Required** - Authentication method, can be either \u003cspan pulumi-lang-nodejs=\"`tls`\" pulumi-lang-dotnet=\"`Tls`\" pulumi-lang-go=\"`tls`\" pulumi-lang-python=\"`tls`\" pulumi-lang-yaml=\"`tls`\" pulumi-lang-java=\"`tls`\"\u003e`tls`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`bearer`\" pulumi-lang-dotnet=\"`Bearer`\" pulumi-lang-go=\"`bearer`\" pulumi-lang-python=\"`bearer`\" pulumi-lang-yaml=\"`bearer`\" pulumi-lang-java=\"`bearer`\"\u003e`bearer`\u003c/span\u003e.\n"},"groups":{"type":"array","items":{"type":"string"},"description":"*Optional* - List of group names to add this identity to.\n"},"name":{"type":"string","description":"**Required** - Name of the identity.\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"},"tlsCertificate":{"type":"string","description":"*Optional* - PEM encoded x509 certificate. Must be set when authentication method is \u003cspan pulumi-lang-nodejs=\"`tls`\" pulumi-lang-dotnet=\"`Tls`\" pulumi-lang-go=\"`tls`\" pulumi-lang-python=\"`tls`\" pulumi-lang-yaml=\"`tls`\" pulumi-lang-java=\"`tls`\"\u003e`tls`\u003c/span\u003e.\n","secret":true}},"requiredInputs":["authMethod"],"stateInputs":{"description":"Input properties used for looking up and filtering AuthIdentity resources.\n","properties":{"authMethod":{"type":"string","description":"**Required** - Authentication method, can be either \u003cspan pulumi-lang-nodejs=\"`tls`\" pulumi-lang-dotnet=\"`Tls`\" pulumi-lang-go=\"`tls`\" pulumi-lang-python=\"`tls`\" pulumi-lang-yaml=\"`tls`\" pulumi-lang-java=\"`tls`\"\u003e`tls`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`bearer`\" pulumi-lang-dotnet=\"`Bearer`\" pulumi-lang-go=\"`bearer`\" pulumi-lang-python=\"`bearer`\" pulumi-lang-yaml=\"`bearer`\" pulumi-lang-java=\"`bearer`\"\u003e`bearer`\u003c/span\u003e.\n"},"groups":{"type":"array","items":{"type":"string"},"description":"*Optional* - List of group names to add this identity to.\n"},"name":{"type":"string","description":"**Required** - Name of the identity.\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"},"tlsCertificate":{"type":"string","description":"*Optional* - PEM encoded x509 certificate. Must be set when authentication method is \u003cspan pulumi-lang-nodejs=\"`tls`\" pulumi-lang-dotnet=\"`Tls`\" pulumi-lang-go=\"`tls`\" pulumi-lang-python=\"`tls`\" pulumi-lang-yaml=\"`tls`\" pulumi-lang-java=\"`tls`\"\u003e`tls`\u003c/span\u003e.\n","secret":true}},"type":"object"}},"lxd:index/cachedImage:CachedImage":{"description":"## #\u003cspan pulumi-lang-nodejs=\" lxd.CachedImage\n\" pulumi-lang-dotnet=\" lxd.CachedImage\n\" pulumi-lang-go=\" CachedImage\n\" pulumi-lang-python=\" CachedImage\n\" pulumi-lang-yaml=\" lxd.CachedImage\n\" pulumi-lang-java=\" lxd.CachedImage\n\"\u003e lxd.CachedImage\n\u003c/span\u003e\nManages a locally-stored LXD image.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as lxd from \"@pulumi/lxd\";\n\nconst xenial = new lxd.CachedImage(\"xenial\", {\n    sourceRemote: \"ubuntu\",\n    sourceImage: \"xenial/amd64\",\n});\nconst test1 = new lxd.Instance(\"test1\", {\n    name: \"test1\",\n    image: xenial.fingerprint,\n    ephemeral: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_lxd as lxd\n\nxenial = lxd.CachedImage(\"xenial\",\n    source_remote=\"ubuntu\",\n    source_image=\"xenial/amd64\")\ntest1 = lxd.Instance(\"test1\",\n    name=\"test1\",\n    image=xenial.fingerprint,\n    ephemeral=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Lxd = Pulumi.Lxd;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var xenial = new Lxd.CachedImage(\"xenial\", new()\n    {\n        SourceRemote = \"ubuntu\",\n        SourceImage = \"xenial/amd64\",\n    });\n\n    var test1 = new Lxd.Instance(\"test1\", new()\n    {\n        Name = \"test1\",\n        Image = xenial.Fingerprint,\n        Ephemeral = false,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/lxd/v2/lxd\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\txenial, err := lxd.NewCachedImage(ctx, \"xenial\", \u0026lxd.CachedImageArgs{\n\t\t\tSourceRemote: pulumi.String(\"ubuntu\"),\n\t\t\tSourceImage:  pulumi.String(\"xenial/amd64\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lxd.NewInstance(ctx, \"test1\", \u0026lxd.InstanceArgs{\n\t\t\tName:      pulumi.String(\"test1\"),\n\t\t\tImage:     xenial.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.lxd.CachedImage;\nimport com.pulumi.lxd.CachedImageArgs;\nimport com.pulumi.lxd.Instance;\nimport com.pulumi.lxd.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 xenial = new CachedImage(\"xenial\", CachedImageArgs.builder()\n            .sourceRemote(\"ubuntu\")\n            .sourceImage(\"xenial/amd64\")\n            .build());\n\n        var test1 = new Instance(\"test1\", InstanceArgs.builder()\n            .name(\"test1\")\n            .image(xenial.fingerprint())\n            .ephemeral(false)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  xenial:\n    type: lxd:CachedImage\n    properties:\n      sourceRemote: ubuntu\n      sourceImage: xenial/amd64\n  test1:\n    type: lxd:Instance\n    properties:\n      name: test1\n      image: ${xenial.fingerprint}\n      ephemeral: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Notes\n\n* See the LXD [documentation](https://documentation.ubuntu.com/lxd/latest/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"},"architecture":{"type":"string","description":"The image architecture (e.g. amd64, i386).\n"},"copiedAliases":{"type":"array","items":{"type":"string"},"description":"The list of aliases that were copied from the\n\u003cspan pulumi-lang-nodejs=\"`sourceImage`\" pulumi-lang-dotnet=\"`SourceImage`\" pulumi-lang-go=\"`sourceImage`\" pulumi-lang-python=\"`source_image`\" pulumi-lang-yaml=\"`sourceImage`\" pulumi-lang-java=\"`sourceImage`\"\u003e`source_image`\u003c/span\u003e.\n"},"copyAliases":{"type":"boolean","description":"*Optional* - Whether to copy the aliases of the image from\nthe remote. Valid values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"createdAt":{"type":"number","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"},"sourceImage":{"type":"string","description":"**Required** - Fingerprint or alias of image to pull.\n"},"sourceRemote":{"type":"string","description":"**Required** - Name of the LXD remote from where image will\nbe pulled.\n"},"type":{"type":"string","description":"*Optional* - Type of image to cache. Must be one of \u003cspan pulumi-lang-nodejs=\"`container`\" pulumi-lang-dotnet=\"`Container`\" pulumi-lang-go=\"`container`\" pulumi-lang-python=\"`container`\" pulumi-lang-yaml=\"`container`\" pulumi-lang-java=\"`container`\"\u003e`container`\u003c/span\u003e or\n`virtual-machine`. Defaults to \u003cspan pulumi-lang-nodejs=\"`container`\" pulumi-lang-dotnet=\"`Container`\" pulumi-lang-go=\"`container`\" pulumi-lang-python=\"`container`\" pulumi-lang-yaml=\"`container`\" pulumi-lang-java=\"`container`\"\u003e`container`\u003c/span\u003e.\n"}},"type":"object","required":["aliases","architecture","copiedAliases","copyAliases","createdAt","fingerprint","sourceImage","sourceRemote","type"],"inputProperties":{"aliases":{"type":"array","items":{"type":"string"},"description":"*Optional* - A list of aliases to assign to the image after\npulling.\n"},"copyAliases":{"type":"boolean","description":"*Optional* - Whether to copy the aliases of the image from\nthe remote. Valid values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"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"},"sourceImage":{"type":"string","description":"**Required** - Fingerprint or alias of image to pull.\n"},"sourceRemote":{"type":"string","description":"**Required** - Name of the LXD remote from where image will\nbe pulled.\n"},"type":{"type":"string","description":"*Optional* - Type of image to cache. Must be one of \u003cspan pulumi-lang-nodejs=\"`container`\" pulumi-lang-dotnet=\"`Container`\" pulumi-lang-go=\"`container`\" pulumi-lang-python=\"`container`\" pulumi-lang-yaml=\"`container`\" pulumi-lang-java=\"`container`\"\u003e`container`\u003c/span\u003e or\n`virtual-machine`. Defaults to \u003cspan pulumi-lang-nodejs=\"`container`\" pulumi-lang-dotnet=\"`Container`\" pulumi-lang-go=\"`container`\" pulumi-lang-python=\"`container`\" pulumi-lang-yaml=\"`container`\" pulumi-lang-java=\"`container`\"\u003e`container`\u003c/span\u003e.\n"}},"requiredInputs":["sourceImage","sourceRemote"],"stateInputs":{"description":"Input properties used for looking up and filtering CachedImage resources.\n","properties":{"aliases":{"type":"array","items":{"type":"string"},"description":"*Optional* - A list of aliases to assign to the image after\npulling.\n"},"architecture":{"type":"string","description":"The image architecture (e.g. amd64, i386).\n"},"copiedAliases":{"type":"array","items":{"type":"string"},"description":"The list of aliases that were copied from the\n\u003cspan pulumi-lang-nodejs=\"`sourceImage`\" pulumi-lang-dotnet=\"`SourceImage`\" pulumi-lang-go=\"`sourceImage`\" pulumi-lang-python=\"`source_image`\" pulumi-lang-yaml=\"`sourceImage`\" pulumi-lang-java=\"`sourceImage`\"\u003e`source_image`\u003c/span\u003e.\n"},"copyAliases":{"type":"boolean","description":"*Optional* - Whether to copy the aliases of the image from\nthe remote. Valid values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"createdAt":{"type":"number","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"},"sourceImage":{"type":"string","description":"**Required** - Fingerprint or alias of image to pull.\n"},"sourceRemote":{"type":"string","description":"**Required** - Name of the LXD remote from where image will\nbe pulled.\n"},"type":{"type":"string","description":"*Optional* - Type of image to cache. Must be one of \u003cspan pulumi-lang-nodejs=\"`container`\" pulumi-lang-dotnet=\"`Container`\" pulumi-lang-go=\"`container`\" pulumi-lang-python=\"`container`\" pulumi-lang-yaml=\"`container`\" pulumi-lang-java=\"`container`\"\u003e`container`\u003c/span\u003e or\n`virtual-machine`. Defaults to \u003cspan pulumi-lang-nodejs=\"`container`\" pulumi-lang-dotnet=\"`Container`\" pulumi-lang-go=\"`container`\" pulumi-lang-python=\"`container`\" pulumi-lang-yaml=\"`container`\" pulumi-lang-java=\"`container`\"\u003e`container`\u003c/span\u003e.\n"}},"type":"object"}},"lxd:index/instance:Instance":{"properties":{"allowRestart":{"type":"boolean","description":"*Optional* - Allow instance to be stopped and restarted if required by the provider for operations like migration or renaming.\n"},"config":{"type":"object","additionalProperties":{"type":"string"},"description":"*Optional* - Map of key/value pairs of\n[instance config settings](https://documentation.ubuntu.com/lxd/latest/reference/instance_options/).\n"},"description":{"type":"string","description":"*Optional* - Description of the instance.\n"},"devices":{"type":"array","items":{"$ref":"#/types/lxd:index%2FInstanceDevice:InstanceDevice"},"description":"*Optional* - Device definition. See reference below.\n"},"ephemeral":{"type":"boolean","description":"*Optional* - Boolean indicating if this instance is ephemeral. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"execs":{"type":"object","additionalProperties":{"$ref":"#/types/lxd:index%2FInstanceExecs:InstanceExecs"},"description":"*Optional* - Map of exec commands to run within the instance. See reference below.\n"},"files":{"type":"array","items":{"$ref":"#/types/lxd:index%2FInstanceFile: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. **For containers** it must\nspecify [an image accessible from the provider remote](https://documentation.ubuntu.com/lxd/latest/reference/remote_image_servers/). If omitted, it is equivalent to the `--empty` CLI flag and creates an empty virtual machine.\n"},"interfaces":{"type":"object","additionalProperties":{"$ref":"#/types/lxd:index%2FInstanceInterfaces:InstanceInterfaces"},"description":"Map of all instance network interfaces (excluding loopback device). The map key represents the name of the network device (from LXD configuration).\n"},"ipv4Address":{"type":"string","description":"The instance's global IPv4 address. See Instance Network\nAccess for more details.\n"},"ipv6Address":{"type":"string","description":"The instance's global IPv6 address. See Instance Network\nAccess for more details.\n"},"limits":{"type":"object","additionalProperties":{"type":"string"},"description":"*Optional* - Map of key/value pairs that define the\n[instance resources limits](https://documentation.ubuntu.com/lxd/latest/reference/instance_options/#resource-limits).\n"},"location":{"type":"string","description":"Name of the cluster member where instance is located.\n"},"macAddress":{"type":"string","description":"The MAC address of the network interface. If MAC address is not available, the instance has no global IP address. 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 LXD config profiles to apply to the new\ninstance. Profile \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e will be applied if profiles are not set (are \u003cspan pulumi-lang-nodejs=\"`null`\" pulumi-lang-dotnet=\"`Null`\" pulumi-lang-go=\"`null`\" pulumi-lang-python=\"`null`\" pulumi-lang-yaml=\"`null`\" pulumi-lang-java=\"`null`\"\u003e`null`\u003c/span\u003e).\nHowever, if an empty array (`[]`) is set as a value, no profiles will be applied.\n"},"project":{"type":"string","description":"*Optional* - Name of the project where the instance will be spawned.\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"},"running":{"type":"boolean","description":"*Optional* - Boolean indicating whether the instance should be started (running). Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"status":{"type":"string","description":"The status of the instance.\n"},"target":{"type":"string","description":"*Optional* - Specify a target cluster member or cluster member group.\n"},"timeouts":{"$ref":"#/types/lxd:index%2FInstanceTimeouts:InstanceTimeouts"},"type":{"type":"string","description":"*Optional* -  Instance type. Can be \u003cspan pulumi-lang-nodejs=\"`container`\" pulumi-lang-dotnet=\"`Container`\" pulumi-lang-go=\"`container`\" pulumi-lang-python=\"`container`\" pulumi-lang-yaml=\"`container`\" pulumi-lang-java=\"`container`\"\u003e`container`\u003c/span\u003e, or `virtual-machine`. Defaults to \u003cspan pulumi-lang-nodejs=\"`container`\" pulumi-lang-dotnet=\"`Container`\" pulumi-lang-go=\"`container`\" pulumi-lang-python=\"`container`\" pulumi-lang-yaml=\"`container`\" pulumi-lang-java=\"`container`\"\u003e`container`\u003c/span\u003e.\n"},"waitForNetwork":{"type":"boolean","description":"*Optional* - Boolean indicating if the provider should wait for the instance to get an IPv4 address before considering the instance as started.\nIf \u003cspan pulumi-lang-nodejs=\"`running`\" pulumi-lang-dotnet=\"`Running`\" pulumi-lang-go=\"`running`\" pulumi-lang-python=\"`running`\" pulumi-lang-yaml=\"`running`\" pulumi-lang-java=\"`running`\"\u003e`running`\u003c/span\u003e is set to false or instance is already running (on update), this value has no effect. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"}},"type":"object","required":["allowRestart","config","description","ephemeral","interfaces","ipv4Address","ipv6Address","limits","location","macAddress","name","profiles","running","status","type","waitForNetwork"],"inputProperties":{"allowRestart":{"type":"boolean","description":"*Optional* - Allow instance to be stopped and restarted if required by the provider for operations like migration or renaming.\n"},"config":{"type":"object","additionalProperties":{"type":"string"},"description":"*Optional* - Map of key/value pairs of\n[instance config settings](https://documentation.ubuntu.com/lxd/latest/reference/instance_options/).\n"},"description":{"type":"string","description":"*Optional* - Description of the instance.\n"},"devices":{"type":"array","items":{"$ref":"#/types/lxd:index%2FInstanceDevice:InstanceDevice"},"description":"*Optional* - Device definition. See reference below.\n"},"ephemeral":{"type":"boolean","description":"*Optional* - Boolean indicating if this instance is ephemeral. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"execs":{"type":"object","additionalProperties":{"$ref":"#/types/lxd:index%2FInstanceExecs:InstanceExecs"},"description":"*Optional* - Map of exec commands to run within the instance. See reference below.\n"},"files":{"type":"array","items":{"$ref":"#/types/lxd:index%2FInstanceFile: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. **For containers** it must\nspecify [an image accessible from the provider remote](https://documentation.ubuntu.com/lxd/latest/reference/remote_image_servers/). If omitted, it is equivalent to the `--empty` CLI flag and creates an empty virtual machine.\n"},"limits":{"type":"object","additionalProperties":{"type":"string"},"description":"*Optional* - Map of key/value pairs that define the\n[instance resources limits](https://documentation.ubuntu.com/lxd/latest/reference/instance_options/#resource-limits).\n"},"name":{"type":"string","description":"**Required** - Name of the instance.\n"},"profiles":{"type":"array","items":{"type":"string"},"description":"*Optional* - List of LXD config profiles to apply to the new\ninstance. Profile \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e will be applied if profiles are not set (are \u003cspan pulumi-lang-nodejs=\"`null`\" pulumi-lang-dotnet=\"`Null`\" pulumi-lang-go=\"`null`\" pulumi-lang-python=\"`null`\" pulumi-lang-yaml=\"`null`\" pulumi-lang-java=\"`null`\"\u003e`null`\u003c/span\u003e).\nHowever, if an empty array (`[]`) is set as a value, no profiles will be applied.\n"},"project":{"type":"string","description":"*Optional* - Name of the project where the instance will be spawned.\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"},"running":{"type":"boolean","description":"*Optional* - Boolean indicating whether the instance should be started (running). Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"target":{"type":"string","description":"*Optional* - Specify a target cluster member or cluster member group.\n"},"timeouts":{"$ref":"#/types/lxd:index%2FInstanceTimeouts:InstanceTimeouts"},"type":{"type":"string","description":"*Optional* -  Instance type. Can be \u003cspan pulumi-lang-nodejs=\"`container`\" pulumi-lang-dotnet=\"`Container`\" pulumi-lang-go=\"`container`\" pulumi-lang-python=\"`container`\" pulumi-lang-yaml=\"`container`\" pulumi-lang-java=\"`container`\"\u003e`container`\u003c/span\u003e, or `virtual-machine`. Defaults to \u003cspan pulumi-lang-nodejs=\"`container`\" pulumi-lang-dotnet=\"`Container`\" pulumi-lang-go=\"`container`\" pulumi-lang-python=\"`container`\" pulumi-lang-yaml=\"`container`\" pulumi-lang-java=\"`container`\"\u003e`container`\u003c/span\u003e.\n"},"waitForNetwork":{"type":"boolean","description":"*Optional* - Boolean indicating if the provider should wait for the instance to get an IPv4 address before considering the instance as started.\nIf \u003cspan pulumi-lang-nodejs=\"`running`\" pulumi-lang-dotnet=\"`Running`\" pulumi-lang-go=\"`running`\" pulumi-lang-python=\"`running`\" pulumi-lang-yaml=\"`running`\" pulumi-lang-java=\"`running`\"\u003e`running`\u003c/span\u003e is set to false or instance is already running (on update), this value has no effect. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering Instance resources.\n","properties":{"allowRestart":{"type":"boolean","description":"*Optional* - Allow instance to be stopped and restarted if required by the provider for operations like migration or renaming.\n"},"config":{"type":"object","additionalProperties":{"type":"string"},"description":"*Optional* - Map of key/value pairs of\n[instance config settings](https://documentation.ubuntu.com/lxd/latest/reference/instance_options/).\n"},"description":{"type":"string","description":"*Optional* - Description of the instance.\n"},"devices":{"type":"array","items":{"$ref":"#/types/lxd:index%2FInstanceDevice:InstanceDevice"},"description":"*Optional* - Device definition. See reference below.\n"},"ephemeral":{"type":"boolean","description":"*Optional* - Boolean indicating if this instance is ephemeral. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"execs":{"type":"object","additionalProperties":{"$ref":"#/types/lxd:index%2FInstanceExecs:InstanceExecs"},"description":"*Optional* - Map of exec commands to run within the instance. See reference below.\n"},"files":{"type":"array","items":{"$ref":"#/types/lxd:index%2FInstanceFile: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. **For containers** it must\nspecify [an image accessible from the provider remote](https://documentation.ubuntu.com/lxd/latest/reference/remote_image_servers/). If omitted, it is equivalent to the `--empty` CLI flag and creates an empty virtual machine.\n"},"interfaces":{"type":"object","additionalProperties":{"$ref":"#/types/lxd:index%2FInstanceInterfaces:InstanceInterfaces"},"description":"Map of all instance network interfaces (excluding loopback device). The map key represents the name of the network device (from LXD configuration).\n"},"ipv4Address":{"type":"string","description":"The instance's global IPv4 address. See Instance Network\nAccess for more details.\n"},"ipv6Address":{"type":"string","description":"The instance's global IPv6 address. See Instance Network\nAccess for more details.\n"},"limits":{"type":"object","additionalProperties":{"type":"string"},"description":"*Optional* - Map of key/value pairs that define the\n[instance resources limits](https://documentation.ubuntu.com/lxd/latest/reference/instance_options/#resource-limits).\n"},"location":{"type":"string","description":"Name of the cluster member where instance is located.\n"},"macAddress":{"type":"string","description":"The MAC address of the network interface. If MAC address is not available, the instance has no global IP address. 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 LXD config profiles to apply to the new\ninstance. Profile \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e will be applied if profiles are not set (are \u003cspan pulumi-lang-nodejs=\"`null`\" pulumi-lang-dotnet=\"`Null`\" pulumi-lang-go=\"`null`\" pulumi-lang-python=\"`null`\" pulumi-lang-yaml=\"`null`\" pulumi-lang-java=\"`null`\"\u003e`null`\u003c/span\u003e).\nHowever, if an empty array (`[]`) is set as a value, no profiles will be applied.\n"},"project":{"type":"string","description":"*Optional* - Name of the project where the instance will be spawned.\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"},"running":{"type":"boolean","description":"*Optional* - Boolean indicating whether the instance should be started (running). Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"status":{"type":"string","description":"The status of the instance.\n"},"target":{"type":"string","description":"*Optional* - Specify a target cluster member or cluster member group.\n"},"timeouts":{"$ref":"#/types/lxd:index%2FInstanceTimeouts:InstanceTimeouts"},"type":{"type":"string","description":"*Optional* -  Instance type. Can be \u003cspan pulumi-lang-nodejs=\"`container`\" pulumi-lang-dotnet=\"`Container`\" pulumi-lang-go=\"`container`\" pulumi-lang-python=\"`container`\" pulumi-lang-yaml=\"`container`\" pulumi-lang-java=\"`container`\"\u003e`container`\u003c/span\u003e, or `virtual-machine`. Defaults to \u003cspan pulumi-lang-nodejs=\"`container`\" pulumi-lang-dotnet=\"`Container`\" pulumi-lang-go=\"`container`\" pulumi-lang-python=\"`container`\" pulumi-lang-yaml=\"`container`\" pulumi-lang-java=\"`container`\"\u003e`container`\u003c/span\u003e.\n"},"waitForNetwork":{"type":"boolean","description":"*Optional* - Boolean indicating if the provider should wait for the instance to get an IPv4 address before considering the instance as started.\nIf \u003cspan pulumi-lang-nodejs=\"`running`\" pulumi-lang-dotnet=\"`Running`\" pulumi-lang-go=\"`running`\" pulumi-lang-python=\"`running`\" pulumi-lang-yaml=\"`running`\" pulumi-lang-java=\"`running`\"\u003e`running`\u003c/span\u003e is set to false or instance is already running (on update), this value has no effect. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"}},"type":"object"}},"lxd:index/instanceDevice:InstanceDevice":{"properties":{"instanceName":{"type":"string","description":"**Required** - Name of the instance.\n"},"name":{"type":"string","description":"**Required** - Name of the device.\n"},"project":{"type":"string","description":"*Optional* - Name of the project where the instance to which this device will be attached exists\n"},"properties":{"type":"object","additionalProperties":{"type":"string"},"description":"**Required** - Map of key/value pairs of\n[device properties](https://documentation.ubuntu.com/lxd/latest/reference/devices/).\n"},"remote":{"type":"string","description":"*Optional* - The remote in which the resource will be created. If\nnot provided, the provider's default remote will be used.\n"},"target":{"type":"string","description":"*Optional* - Specify a target cluster member or cluster member group of the instance.\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":["instanceName","name","properties","type"],"inputProperties":{"instanceName":{"type":"string","description":"**Required** - Name of the instance.\n"},"name":{"type":"string","description":"**Required** - Name of the device.\n"},"project":{"type":"string","description":"*Optional* - Name of the project where the instance to which this device will be attached exists\n"},"properties":{"type":"object","additionalProperties":{"type":"string"},"description":"**Required** - Map of key/value pairs of\n[device properties](https://documentation.ubuntu.com/lxd/latest/reference/devices/).\n"},"remote":{"type":"string","description":"*Optional* - The remote in which the resource will be created. If\nnot provided, the provider's default remote will be used.\n"},"target":{"type":"string","description":"*Optional* - Specify a target cluster member or cluster member group of the instance.\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"}},"requiredInputs":["instanceName","properties","type"],"stateInputs":{"description":"Input properties used for looking up and filtering InstanceDevice resources.\n","properties":{"instanceName":{"type":"string","description":"**Required** - Name of the instance.\n"},"name":{"type":"string","description":"**Required** - Name of the device.\n"},"project":{"type":"string","description":"*Optional* - Name of the project where the instance to which this device will be attached exists\n"},"properties":{"type":"object","additionalProperties":{"type":"string"},"description":"**Required** - Map of key/value pairs of\n[device properties](https://documentation.ubuntu.com/lxd/latest/reference/devices/).\n"},"remote":{"type":"string","description":"*Optional* - The remote in which the resource will be created. If\nnot provided, the provider's default remote will be used.\n"},"target":{"type":"string","description":"*Optional* - Specify a target cluster member or cluster member group of the instance.\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"}},"lxd:index/instanceFile:InstanceFile":{"description":"## #\u003cspan pulumi-lang-nodejs=\" lxd.InstanceFile\n\" pulumi-lang-dotnet=\" lxd.InstanceFile\n\" pulumi-lang-go=\" InstanceFile\n\" pulumi-lang-python=\" InstanceFile\n\" pulumi-lang-yaml=\" lxd.InstanceFile\n\" pulumi-lang-java=\" lxd.InstanceFile\n\"\u003e lxd.InstanceFile\n\u003c/span\u003e\nManages a file in an LXD instance.\n\nThis resource is useful for managing files on an existing LXD instance.\nIf you need to preload files in an instance before the instance first\nstarts, use the \u003cspan pulumi-lang-nodejs=\"`file`\" pulumi-lang-dotnet=\"`File`\" pulumi-lang-go=\"`file`\" pulumi-lang-python=\"`file`\" pulumi-lang-yaml=\"`file`\" pulumi-lang-java=\"`file`\"\u003e`file`\u003c/span\u003e block in the \u003cspan pulumi-lang-nodejs=\"`lxd.Instance`\" pulumi-lang-dotnet=\"`lxd.Instance`\" pulumi-lang-go=\"`Instance`\" pulumi-lang-python=\"`Instance`\" pulumi-lang-yaml=\"`lxd.Instance`\" pulumi-lang-java=\"`lxd.Instance`\"\u003e`lxd.Instance`\u003c/span\u003e resource.\n\n## Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as lxd from \"@pulumi/lxd\";\n\nconst instance = new lxd.Instance(\"instance\", {\n    name: \"my-instance\",\n    image: \"ubuntu\",\n    ephemeral: false,\n});\nconst file1 = new lxd.InstanceFile(\"file1\", {\n    instance: instance.name,\n    sourcePath: \"/path/to/local/file\",\n    targetPath: \"/foo/bar.txt\",\n    createDirectories: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_lxd as lxd\n\ninstance = lxd.Instance(\"instance\",\n    name=\"my-instance\",\n    image=\"ubuntu\",\n    ephemeral=False)\nfile1 = lxd.InstanceFile(\"file1\",\n    instance=instance.name,\n    source_path=\"/path/to/local/file\",\n    target_path=\"/foo/bar.txt\",\n    create_directories=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Lxd = Pulumi.Lxd;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var instance = new Lxd.Instance(\"instance\", new()\n    {\n        Name = \"my-instance\",\n        Image = \"ubuntu\",\n        Ephemeral = false,\n    });\n\n    var file1 = new Lxd.InstanceFile(\"file1\", new()\n    {\n        Instance = instance.Name,\n        SourcePath = \"/path/to/local/file\",\n        TargetPath = \"/foo/bar.txt\",\n        CreateDirectories = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/lxd/v2/lxd\"\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 := lxd.NewInstance(ctx, \"instance\", \u0026lxd.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 = lxd.NewInstanceFile(ctx, \"file1\", \u0026lxd.InstanceFileArgs{\n\t\t\tInstance:          instance.Name,\n\t\t\tSourcePath:        pulumi.String(\"/path/to/local/file\"),\n\t\t\tTargetPath:        pulumi.String(\"/foo/bar.txt\"),\n\t\t\tCreateDirectories: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.lxd.Instance;\nimport com.pulumi.lxd.InstanceArgs;\nimport com.pulumi.lxd.InstanceFile;\nimport com.pulumi.lxd.InstanceFileArgs;\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 file1 = new InstanceFile(\"file1\", InstanceFileArgs.builder()\n            .instance(instance.name())\n            .sourcePath(\"/path/to/local/file\")\n            .targetPath(\"/foo/bar.txt\")\n            .createDirectories(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  instance:\n    type: lxd:Instance\n    properties:\n      name: my-instance\n      image: ubuntu\n      ephemeral: false\n  file1:\n    type: lxd:InstanceFile\n    properties:\n      instance: ${instance.name}\n      sourcePath: /path/to/local/file\n      targetPath: /foo/bar.txt\n      createDirectories: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"append":{"type":"boolean","description":"*Optional* - Whether to append the content to the target file. Defaults to false, where target file will be overwritten.\n"},"content":{"type":"string","description":"*__Required__ unless\u003cspan pulumi-lang-nodejs=\" sourcePath \" pulumi-lang-dotnet=\" SourcePath \" pulumi-lang-go=\" sourcePath \" pulumi-lang-python=\" source_path \" pulumi-lang-yaml=\" sourcePath \" pulumi-lang-java=\" sourcePath \"\u003e source_path \u003c/span\u003eis used* - The _contents_ of the file.\nUse the `file()` function to read in the content of a file from disk.\n"},"createDirectories":{"type":"boolean","description":"*Optional* - Whether to create the directories leading\nto the target if they do not exist.\n"},"gid":{"type":"number","description":"*Optional* - The GID of the file. Must be an unquoted integer.\nDefaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"instance":{"type":"string","description":"**Required** - Name of the instance.\n"},"mode":{"type":"string","description":"*Optional* - The octal permissions of the file, must be quoted. Defaults to \u003cspan pulumi-lang-nodejs=\"`0755`\" pulumi-lang-dotnet=\"`0755`\" pulumi-lang-go=\"`0755`\" pulumi-lang-python=\"`0755`\" pulumi-lang-yaml=\"`0755`\" pulumi-lang-java=\"`0755`\"\u003e`0755`\u003c/span\u003e.\n"},"project":{"type":"string","description":"*Optional* - Name of the project where the instance to which this file will be appended exist.\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"},"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":"number","description":"*Optional* - The UID of the file. Must be an unquoted integer.\nDefaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"}},"type":"object","required":["gid","instance","mode","resourceId","targetPath","uid"],"inputProperties":{"append":{"type":"boolean","description":"*Optional* - Whether to append the content to the target file. Defaults to false, where target file will be overwritten.\n"},"content":{"type":"string","description":"*__Required__ unless\u003cspan pulumi-lang-nodejs=\" sourcePath \" pulumi-lang-dotnet=\" SourcePath \" pulumi-lang-go=\" sourcePath \" pulumi-lang-python=\" source_path \" pulumi-lang-yaml=\" sourcePath \" pulumi-lang-java=\" sourcePath \"\u003e source_path \u003c/span\u003eis used* - The _contents_ of the file.\nUse the `file()` function to read in the content of a file from disk.\n"},"createDirectories":{"type":"boolean","description":"*Optional* - Whether to create the directories leading\nto the target if they do not exist.\n"},"gid":{"type":"number","description":"*Optional* - The GID of the file. Must be an unquoted integer.\nDefaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"instance":{"type":"string","description":"**Required** - Name of the instance.\n"},"mode":{"type":"string","description":"*Optional* - The octal permissions of the file, must be quoted. Defaults to \u003cspan pulumi-lang-nodejs=\"`0755`\" pulumi-lang-dotnet=\"`0755`\" pulumi-lang-go=\"`0755`\" pulumi-lang-python=\"`0755`\" pulumi-lang-yaml=\"`0755`\" pulumi-lang-java=\"`0755`\"\u003e`0755`\u003c/span\u003e.\n"},"project":{"type":"string","description":"*Optional* - Name of the project where the instance to which this file will be appended exist.\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"},"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":"number","description":"*Optional* - The UID of the file. Must be an unquoted integer.\nDefaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"}},"requiredInputs":["instance","targetPath"],"stateInputs":{"description":"Input properties used for looking up and filtering InstanceFile resources.\n","properties":{"append":{"type":"boolean","description":"*Optional* - Whether to append the content to the target file. Defaults to false, where target file will be overwritten.\n"},"content":{"type":"string","description":"*__Required__ unless\u003cspan pulumi-lang-nodejs=\" sourcePath \" pulumi-lang-dotnet=\" SourcePath \" pulumi-lang-go=\" sourcePath \" pulumi-lang-python=\" source_path \" pulumi-lang-yaml=\" sourcePath \" pulumi-lang-java=\" sourcePath \"\u003e source_path \u003c/span\u003eis used* - The _contents_ of the file.\nUse the `file()` function to read in the content of a file from disk.\n"},"createDirectories":{"type":"boolean","description":"*Optional* - Whether to create the directories leading\nto the target if they do not exist.\n"},"gid":{"type":"number","description":"*Optional* - The GID of the file. Must be an unquoted integer.\nDefaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"instance":{"type":"string","description":"**Required** - Name of the instance.\n"},"mode":{"type":"string","description":"*Optional* - The octal permissions of the file, must be quoted. Defaults to \u003cspan pulumi-lang-nodejs=\"`0755`\" pulumi-lang-dotnet=\"`0755`\" pulumi-lang-go=\"`0755`\" pulumi-lang-python=\"`0755`\" pulumi-lang-yaml=\"`0755`\" pulumi-lang-java=\"`0755`\"\u003e`0755`\u003c/span\u003e.\n"},"project":{"type":"string","description":"*Optional* - Name of the project where the instance to which this file will be appended exist.\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"},"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":"number","description":"*Optional* - The UID of the file. Must be an unquoted integer.\nDefaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"}},"type":"object"}},"lxd:index/network:Network":{"properties":{"config":{"type":"object","additionalProperties":{"type":"string"},"description":"*Optional* - Map of key/value pairs of\n[network config settings](https://documentation.ubuntu.com/lxd/latest/networks/).\n"},"description":{"type":"string","description":"*Optional* - Description of the network.\n"},"ipv4Address":{"type":"string","description":"The network's global IPv4 address in CIDR notation. For example `10.0.190.1/24`. When no such address exists, an empty string is set.\n"},"ipv6Address":{"type":"string","description":"The network's global IPv6 address in CIDR notation. For example `fd42:b40e:534a:b208::1/64`. When no such address exists, an empty string is set.\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"},"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","required":["config","description","ipv4Address","ipv6Address","managed","name","type"],"inputProperties":{"config":{"type":"object","additionalProperties":{"type":"string"},"description":"*Optional* - Map of key/value pairs of\n[network config settings](https://documentation.ubuntu.com/lxd/latest/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"},"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://documentation.ubuntu.com/lxd/latest/networks/).\n"},"description":{"type":"string","description":"*Optional* - Description of the network.\n"},"ipv4Address":{"type":"string","description":"The network's global IPv4 address in CIDR notation. For example `10.0.190.1/24`. When no such address exists, an empty string is set.\n"},"ipv6Address":{"type":"string","description":"The network's global IPv6 address in CIDR notation. For example `fd42:b40e:534a:b208::1/64`. When no such address exists, an empty string is set.\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"},"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"}},"lxd:index/networkAcl:NetworkAcl":{"properties":{"config":{"type":"object","additionalProperties":{"type":"string"},"description":"*Optional* - Map of key/value pairs of\n[network ACL config settings](https://documentation.ubuntu.com/lxd/latest/howto/network_acls/).\n"},"description":{"type":"string","description":"*Optional* - Description of the network ACL rule.\n"},"egresses":{"type":"array","items":{"$ref":"#/types/lxd:index%2FNetworkAclEgress:NetworkAclEgress"},"description":"*Optional* - List of network ACL rules for egress traffic. See reference below.\n"},"ingresses":{"type":"array","items":{"$ref":"#/types/lxd:index%2FNetworkAclIngress:NetworkAclIngress"},"description":"*Optional* - List of network ACL rules for ingress traffic. See reference below.\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"},"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\nThe network ACL rule supports:\n"}},"type":"object","required":["config","description","egresses","ingresses","name"],"inputProperties":{"config":{"type":"object","additionalProperties":{"type":"string"},"description":"*Optional* - Map of key/value pairs of\n[network ACL config settings](https://documentation.ubuntu.com/lxd/latest/howto/network_acls/).\n"},"description":{"type":"string","description":"*Optional* - Description of the network ACL rule.\n"},"egresses":{"type":"array","items":{"$ref":"#/types/lxd:index%2FNetworkAclEgress:NetworkAclEgress"},"description":"*Optional* - List of network ACL rules for egress traffic. See reference below.\n"},"ingresses":{"type":"array","items":{"$ref":"#/types/lxd:index%2FNetworkAclIngress:NetworkAclIngress"},"description":"*Optional* - List of network ACL rules for ingress traffic. See reference below.\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"},"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\nThe network ACL rule supports:\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\n[network ACL config settings](https://documentation.ubuntu.com/lxd/latest/howto/network_acls/).\n"},"description":{"type":"string","description":"*Optional* - Description of the network ACL rule.\n"},"egresses":{"type":"array","items":{"$ref":"#/types/lxd:index%2FNetworkAclEgress:NetworkAclEgress"},"description":"*Optional* - List of network ACL rules for egress traffic. See reference below.\n"},"ingresses":{"type":"array","items":{"$ref":"#/types/lxd:index%2FNetworkAclIngress:NetworkAclIngress"},"description":"*Optional* - List of network ACL rules for ingress traffic. See reference below.\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"},"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\nThe network ACL rule supports:\n"}},"type":"object"}},"lxd:index/networkForward:NetworkForward":{"properties":{"config":{"type":"object","additionalProperties":{"type":"string"},"description":"*Optional* - Map of key/value pairs of\n[network forward config settings](https://documentation.ubuntu.com/lxd/latest/howto/network_forwards/).\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/lxd:index%2FNetworkForwardPort:NetworkForwardPort"},"description":"*Optional* - List of port specifications. See reference below.\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\nThe network forward port supports:\n"}},"type":"object","required":["config","description","listenAddress","network","ports"],"inputProperties":{"config":{"type":"object","additionalProperties":{"type":"string"},"description":"*Optional* - Map of key/value pairs of\n[network forward config settings](https://documentation.ubuntu.com/lxd/latest/howto/network_forwards/).\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/lxd:index%2FNetworkForwardPort:NetworkForwardPort"},"description":"*Optional* - List of port specifications. See reference below.\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\nThe network forward port supports:\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\n[network forward config settings](https://documentation.ubuntu.com/lxd/latest/howto/network_forwards/).\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/lxd:index%2FNetworkForwardPort:NetworkForwardPort"},"description":"*Optional* - List of port specifications. See reference below.\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\nThe network forward port supports:\n"}},"type":"object"}},"lxd:index/networkLb:NetworkLb":{"properties":{"backends":{"type":"array","items":{"$ref":"#/types/lxd:index%2FNetworkLbBackend:NetworkLbBackend"},"description":"Network load balancer backend"},"config":{"type":"object","additionalProperties":{"type":"string"}},"description":{"type":"string"},"listenAddress":{"type":"string"},"network":{"type":"string"},"ports":{"type":"array","items":{"$ref":"#/types/lxd:index%2FNetworkLbPort:NetworkLbPort"},"description":"Network load balancer port"},"project":{"type":"string"},"remote":{"type":"string"}},"type":"object","required":["config","description","listenAddress","network"],"inputProperties":{"backends":{"type":"array","items":{"$ref":"#/types/lxd:index%2FNetworkLbBackend:NetworkLbBackend"},"description":"Network load balancer backend"},"config":{"type":"object","additionalProperties":{"type":"string"}},"description":{"type":"string"},"listenAddress":{"type":"string"},"network":{"type":"string"},"ports":{"type":"array","items":{"$ref":"#/types/lxd:index%2FNetworkLbPort:NetworkLbPort"},"description":"Network load balancer port"},"project":{"type":"string"},"remote":{"type":"string"}},"requiredInputs":["listenAddress","network"],"stateInputs":{"description":"Input properties used for looking up and filtering NetworkLb resources.\n","properties":{"backends":{"type":"array","items":{"$ref":"#/types/lxd:index%2FNetworkLbBackend:NetworkLbBackend"},"description":"Network load balancer backend"},"config":{"type":"object","additionalProperties":{"type":"string"}},"description":{"type":"string"},"listenAddress":{"type":"string"},"network":{"type":"string"},"ports":{"type":"array","items":{"$ref":"#/types/lxd:index%2FNetworkLbPort:NetworkLbPort"},"description":"Network load balancer port"},"project":{"type":"string"},"remote":{"type":"string"}},"type":"object"}},"lxd:index/networkPeer:NetworkPeer":{"properties":{"config":{"type":"object","additionalProperties":{"type":"string"},"description":"*Optional* - Map of key/value pairs of [network peer config settings](https://documentation.ubuntu.com/lxd/latest/howto/network_ovn_peers/#peering-properties).\n"},"description":{"type":"string","description":"*Optional* - Description of the network peer.\n"},"name":{"type":"string","description":"**Required** - Name of the network peer.\n"},"remote":{"type":"string","description":"*Optional* - The remote in which the resource will be created. If not provided, the provider's default remote will be used.\n"},"sourceNetwork":{"type":"string","description":"**Required** - Name of the source network.\n"},"sourceProject":{"type":"string","description":"*Optional* - Name of the source network project. Defaults to \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e.\n"},"status":{"type":"string","description":"Network peer status"},"targetNetwork":{"type":"string","description":"**Required** - Name of the target network.\n"},"targetProject":{"type":"string","description":"*Optional* - Name of the target network project. Defaults to value of the *source_project* field.\n"}},"type":"object","required":["config","description","name","sourceNetwork","sourceProject","status","targetNetwork","targetProject"],"inputProperties":{"config":{"type":"object","additionalProperties":{"type":"string"},"description":"*Optional* - Map of key/value pairs of [network peer config settings](https://documentation.ubuntu.com/lxd/latest/howto/network_ovn_peers/#peering-properties).\n"},"description":{"type":"string","description":"*Optional* - Description of the network peer.\n"},"name":{"type":"string","description":"**Required** - Name of the network peer.\n"},"remote":{"type":"string","description":"*Optional* - The remote in which the resource will be created. If not provided, the provider's default remote will be used.\n"},"sourceNetwork":{"type":"string","description":"**Required** - Name of the source network.\n"},"sourceProject":{"type":"string","description":"*Optional* - Name of the source network project. Defaults to \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e.\n"},"targetNetwork":{"type":"string","description":"**Required** - Name of the target network.\n"},"targetProject":{"type":"string","description":"*Optional* - Name of the target network project. Defaults to value of the *source_project* field.\n"}},"requiredInputs":["sourceNetwork","targetNetwork"],"stateInputs":{"description":"Input properties used for looking up and filtering NetworkPeer resources.\n","properties":{"config":{"type":"object","additionalProperties":{"type":"string"},"description":"*Optional* - Map of key/value pairs of [network peer config settings](https://documentation.ubuntu.com/lxd/latest/howto/network_ovn_peers/#peering-properties).\n"},"description":{"type":"string","description":"*Optional* - Description of the network peer.\n"},"name":{"type":"string","description":"**Required** - Name of the network peer.\n"},"remote":{"type":"string","description":"*Optional* - The remote in which the resource will be created. If not provided, the provider's default remote will be used.\n"},"sourceNetwork":{"type":"string","description":"**Required** - Name of the source network.\n"},"sourceProject":{"type":"string","description":"*Optional* - Name of the source network project. Defaults to \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e.\n"},"status":{"type":"string","description":"Network peer status"},"targetNetwork":{"type":"string","description":"**Required** - Name of the target network.\n"},"targetProject":{"type":"string","description":"*Optional* - Name of the target network project. Defaults to value of the *source_project* field.\n"}},"type":"object"}},"lxd:index/networkZone:NetworkZone":{"properties":{"config":{"type":"object","additionalProperties":{"type":"string"},"description":"*Optional* - Map of key/value pairs of\n[network\u003cspan pulumi-lang-nodejs=\" zoneConfig \" pulumi-lang-dotnet=\" ZoneConfig \" pulumi-lang-go=\" zoneConfig \" pulumi-lang-python=\" zone_config \" pulumi-lang-yaml=\" zoneConfig \" pulumi-lang-java=\" zoneConfig \"\u003e zone_config \u003c/span\u003esettings](https://documentation.ubuntu.com/lxd/latest/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"},"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":["config","description","name"],"inputProperties":{"config":{"type":"object","additionalProperties":{"type":"string"},"description":"*Optional* - Map of key/value pairs of\n[network\u003cspan pulumi-lang-nodejs=\" zoneConfig \" pulumi-lang-dotnet=\" ZoneConfig \" pulumi-lang-go=\" zoneConfig \" pulumi-lang-python=\" zone_config \" pulumi-lang-yaml=\" zoneConfig \" pulumi-lang-java=\" zoneConfig \"\u003e zone_config \u003c/span\u003esettings](https://documentation.ubuntu.com/lxd/latest/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"},"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\u003cspan pulumi-lang-nodejs=\" zoneConfig \" pulumi-lang-dotnet=\" ZoneConfig \" pulumi-lang-go=\" zoneConfig \" pulumi-lang-python=\" zone_config \" pulumi-lang-yaml=\" zoneConfig \" pulumi-lang-java=\" zoneConfig \"\u003e zone_config \u003c/span\u003esettings](https://documentation.ubuntu.com/lxd/latest/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"},"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"}},"lxd:index/networkZoneRecord:NetworkZoneRecord":{"properties":{"config":{"type":"object","additionalProperties":{"type":"string"},"description":"*Optional* - Map of key/value pairs of\n[network\u003cspan pulumi-lang-nodejs=\" zoneConfig \" pulumi-lang-dotnet=\" ZoneConfig \" pulumi-lang-go=\" zoneConfig \" pulumi-lang-python=\" zone_config \" pulumi-lang-yaml=\" zoneConfig \" pulumi-lang-java=\" zoneConfig \"\u003e zone_config \u003c/span\u003esettings](https://documentation.ubuntu.com/lxd/latest/howto/network_zones/#configuration-options).\n"},"description":{"type":"string","description":"*Optional* - Description of the network zone.\n"},"entries":{"type":"array","items":{"$ref":"#/types/lxd:index%2FNetworkZoneRecordEntry: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"},"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","required":["config","description","name","zone"],"inputProperties":{"config":{"type":"object","additionalProperties":{"type":"string"},"description":"*Optional* - Map of key/value pairs of\n[network\u003cspan pulumi-lang-nodejs=\" zoneConfig \" pulumi-lang-dotnet=\" ZoneConfig \" pulumi-lang-go=\" zoneConfig \" pulumi-lang-python=\" zone_config \" pulumi-lang-yaml=\" zoneConfig \" pulumi-lang-java=\" zoneConfig \"\u003e zone_config \u003c/span\u003esettings](https://documentation.ubuntu.com/lxd/latest/howto/network_zones/#configuration-options).\n"},"description":{"type":"string","description":"*Optional* - Description of the network zone.\n"},"entries":{"type":"array","items":{"$ref":"#/types/lxd:index%2FNetworkZoneRecordEntry: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"},"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\u003cspan pulumi-lang-nodejs=\" zoneConfig \" pulumi-lang-dotnet=\" ZoneConfig \" pulumi-lang-go=\" zoneConfig \" pulumi-lang-python=\" zone_config \" pulumi-lang-yaml=\" zoneConfig \" pulumi-lang-java=\" zoneConfig \"\u003e zone_config \u003c/span\u003esettings](https://documentation.ubuntu.com/lxd/latest/howto/network_zones/#configuration-options).\n"},"description":{"type":"string","description":"*Optional* - Description of the network zone.\n"},"entries":{"type":"array","items":{"$ref":"#/types/lxd:index%2FNetworkZoneRecordEntry: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"},"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"}},"lxd:index/profile:Profile":{"properties":{"config":{"type":"object","additionalProperties":{"type":"string"},"description":"*Optional* - Map of key/value pairs of\n[instance config settings](https://documentation.ubuntu.com/lxd/latest/reference/instance_options/).\n"},"description":{"type":"string"},"devices":{"type":"array","items":{"$ref":"#/types/lxd:index%2FProfileDevice: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"},"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":["config","description","name"],"inputProperties":{"config":{"type":"object","additionalProperties":{"type":"string"},"description":"*Optional* - Map of key/value pairs of\n[instance config settings](https://documentation.ubuntu.com/lxd/latest/reference/instance_options/).\n"},"description":{"type":"string"},"devices":{"type":"array","items":{"$ref":"#/types/lxd:index%2FProfileDevice: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"},"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://documentation.ubuntu.com/lxd/latest/reference/instance_options/).\n"},"description":{"type":"string"},"devices":{"type":"array","items":{"$ref":"#/types/lxd:index%2FProfileDevice: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"},"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"}},"lxd:index/project:Project":{"properties":{"config":{"type":"object","additionalProperties":{"type":"string"},"description":"*Optional* - Map of key/value pairs of [project config settings](https://documentation.ubuntu.com/lxd/latest/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","required":["config","description","name"],"inputProperties":{"config":{"type":"object","additionalProperties":{"type":"string"},"description":"*Optional* - Map of key/value pairs of [project config settings](https://documentation.ubuntu.com/lxd/latest/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://documentation.ubuntu.com/lxd/latest/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"}},"lxd:index/publishImage:PublishImage":{"description":"## #\u003cspan pulumi-lang-nodejs=\" lxd.PublishImage\n\" pulumi-lang-dotnet=\" lxd.PublishImage\n\" pulumi-lang-go=\" PublishImage\n\" pulumi-lang-python=\" PublishImage\n\" pulumi-lang-yaml=\" lxd.PublishImage\n\" pulumi-lang-java=\" lxd.PublishImage\n\"\u003e lxd.PublishImage\n\u003c/span\u003e\nCreate a LXD image from an instance.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as lxd from \"@pulumi/lxd\";\n\nconst xenial = new lxd.CachedImage(\"xenial\", {\n    sourceRemote: \"ubuntu\",\n    sourceImage: \"xenial/amd64\",\n});\nconst test1 = new lxd.Instance(\"test1\", {\n    name: \"test1\",\n    image: xenial.fingerprint,\n    running: false,\n});\nconst test1PublishImage = new lxd.PublishImage(\"test1\", {\n    instance: test1.name,\n    aliases: [\"test1_img\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_lxd as lxd\n\nxenial = lxd.CachedImage(\"xenial\",\n    source_remote=\"ubuntu\",\n    source_image=\"xenial/amd64\")\ntest1 = lxd.Instance(\"test1\",\n    name=\"test1\",\n    image=xenial.fingerprint,\n    running=False)\ntest1_publish_image = lxd.PublishImage(\"test1\",\n    instance=test1.name,\n    aliases=[\"test1_img\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Lxd = Pulumi.Lxd;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var xenial = new Lxd.CachedImage(\"xenial\", new()\n    {\n        SourceRemote = \"ubuntu\",\n        SourceImage = \"xenial/amd64\",\n    });\n\n    var test1 = new Lxd.Instance(\"test1\", new()\n    {\n        Name = \"test1\",\n        Image = xenial.Fingerprint,\n        Running = false,\n    });\n\n    var test1PublishImage = new Lxd.PublishImage(\"test1\", new()\n    {\n        Instance = test1.Name,\n        Aliases = new[]\n        {\n            \"test1_img\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/lxd/v2/lxd\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\txenial, err := lxd.NewCachedImage(ctx, \"xenial\", \u0026lxd.CachedImageArgs{\n\t\t\tSourceRemote: pulumi.String(\"ubuntu\"),\n\t\t\tSourceImage:  pulumi.String(\"xenial/amd64\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttest1, err := lxd.NewInstance(ctx, \"test1\", \u0026lxd.InstanceArgs{\n\t\t\tName:    pulumi.String(\"test1\"),\n\t\t\tImage:   xenial.Fingerprint,\n\t\t\tRunning: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lxd.NewPublishImage(ctx, \"test1\", \u0026lxd.PublishImageArgs{\n\t\t\tInstance: test1.Name,\n\t\t\tAliases: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"test1_img\"),\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.lxd.CachedImage;\nimport com.pulumi.lxd.CachedImageArgs;\nimport com.pulumi.lxd.Instance;\nimport com.pulumi.lxd.InstanceArgs;\nimport com.pulumi.lxd.PublishImage;\nimport com.pulumi.lxd.PublishImageArgs;\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 xenial = new CachedImage(\"xenial\", CachedImageArgs.builder()\n            .sourceRemote(\"ubuntu\")\n            .sourceImage(\"xenial/amd64\")\n            .build());\n\n        var test1 = new Instance(\"test1\", InstanceArgs.builder()\n            .name(\"test1\")\n            .image(xenial.fingerprint())\n            .running(false)\n            .build());\n\n        var test1PublishImage = new PublishImage(\"test1PublishImage\", PublishImageArgs.builder()\n            .instance(test1.name())\n            .aliases(\"test1_img\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  xenial:\n    type: lxd:CachedImage\n    properties:\n      sourceRemote: ubuntu\n      sourceImage: xenial/amd64\n  test1:\n    type: lxd:Instance\n    properties:\n      name: test1\n      image: ${xenial.fingerprint}\n      running: false\n  test1PublishImage:\n    type: lxd:PublishImage\n    name: test1\n    properties:\n      instance: ${test1.name}\n      aliases:\n        - test1_img\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Notes\n\n* Image can only be published if the instance is stopped.\n","properties":{"aliases":{"type":"array","items":{"type":"string"},"description":"*Optional* - A list of aliases to assign to the image.\n"},"architecture":{"type":"string","description":"The architecture of the published image.\n"},"compressionAlgorithm":{"type":"string","description":"*Optional* - Override the compression algorithm for the image.\nValid values are (\u003cspan pulumi-lang-nodejs=\"`bzip2`\" pulumi-lang-dotnet=\"`Bzip2`\" pulumi-lang-go=\"`bzip2`\" pulumi-lang-python=\"`bzip2`\" pulumi-lang-yaml=\"`bzip2`\" pulumi-lang-java=\"`bzip2`\"\u003e`bzip2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`gzip`\" pulumi-lang-dotnet=\"`Gzip`\" pulumi-lang-go=\"`gzip`\" pulumi-lang-python=\"`gzip`\" pulumi-lang-yaml=\"`gzip`\" pulumi-lang-java=\"`gzip`\"\u003e`gzip`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`lzma`\" pulumi-lang-dotnet=\"`Lzma`\" pulumi-lang-go=\"`lzma`\" pulumi-lang-python=\"`lzma`\" pulumi-lang-yaml=\"`lzma`\" pulumi-lang-java=\"`lzma`\"\u003e`lzma`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`xz`\" pulumi-lang-dotnet=\"`Xz`\" pulumi-lang-go=\"`xz`\" pulumi-lang-python=\"`xz`\" pulumi-lang-yaml=\"`xz`\" pulumi-lang-java=\"`xz`\"\u003e`xz`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e). Defaults to \u003cspan pulumi-lang-nodejs=\"`gzip`\" pulumi-lang-dotnet=\"`Gzip`\" pulumi-lang-go=\"`gzip`\" pulumi-lang-python=\"`gzip`\" pulumi-lang-yaml=\"`gzip`\" pulumi-lang-java=\"`gzip`\"\u003e`gzip`\u003c/span\u003e.\n"},"createdAt":{"type":"number","description":"The creation timestamp of the published image.\n"},"filename":{"type":"string","description":"*Optional* - Used for export.\n"},"fingerprint":{"type":"string","description":"The fingerprint of the published image.\n"},"instance":{"type":"string","description":"**Required** - The name of the instance.\n"},"project":{"type":"string","description":"*Optional* - Name of the project where the published image will be stored.\n"},"properties":{"type":"object","additionalProperties":{"type":"string"},"description":"*Optional* - A map of properties to assign to the image.\n"},"public":{"type":"boolean","description":"*Optional* - Whether the image can be downloaded by untrusted users.\nValid values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"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"},"triggers":{"type":"array","items":{"type":"string"},"description":"*Optional* - A list of arbitrary strings that, when changed, will force the resource to be replaced.\n"}},"type":"object","required":["aliases","architecture","compressionAlgorithm","createdAt","fingerprint","instance","public"],"inputProperties":{"aliases":{"type":"array","items":{"type":"string"},"description":"*Optional* - A list of aliases to assign to the image.\n"},"compressionAlgorithm":{"type":"string","description":"*Optional* - Override the compression algorithm for the image.\nValid values are (\u003cspan pulumi-lang-nodejs=\"`bzip2`\" pulumi-lang-dotnet=\"`Bzip2`\" pulumi-lang-go=\"`bzip2`\" pulumi-lang-python=\"`bzip2`\" pulumi-lang-yaml=\"`bzip2`\" pulumi-lang-java=\"`bzip2`\"\u003e`bzip2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`gzip`\" pulumi-lang-dotnet=\"`Gzip`\" pulumi-lang-go=\"`gzip`\" pulumi-lang-python=\"`gzip`\" pulumi-lang-yaml=\"`gzip`\" pulumi-lang-java=\"`gzip`\"\u003e`gzip`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`lzma`\" pulumi-lang-dotnet=\"`Lzma`\" pulumi-lang-go=\"`lzma`\" pulumi-lang-python=\"`lzma`\" pulumi-lang-yaml=\"`lzma`\" pulumi-lang-java=\"`lzma`\"\u003e`lzma`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`xz`\" pulumi-lang-dotnet=\"`Xz`\" pulumi-lang-go=\"`xz`\" pulumi-lang-python=\"`xz`\" pulumi-lang-yaml=\"`xz`\" pulumi-lang-java=\"`xz`\"\u003e`xz`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e). Defaults to \u003cspan pulumi-lang-nodejs=\"`gzip`\" pulumi-lang-dotnet=\"`Gzip`\" pulumi-lang-go=\"`gzip`\" pulumi-lang-python=\"`gzip`\" pulumi-lang-yaml=\"`gzip`\" pulumi-lang-java=\"`gzip`\"\u003e`gzip`\u003c/span\u003e.\n"},"filename":{"type":"string","description":"*Optional* - Used for export.\n"},"instance":{"type":"string","description":"**Required** - The name of the instance.\n"},"project":{"type":"string","description":"*Optional* - Name of the project where the published image will be stored.\n"},"properties":{"type":"object","additionalProperties":{"type":"string"},"description":"*Optional* - A map of properties to assign to the image.\n"},"public":{"type":"boolean","description":"*Optional* - Whether the image can be downloaded by untrusted users.\nValid values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"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"},"triggers":{"type":"array","items":{"type":"string"},"description":"*Optional* - A list of arbitrary strings that, when changed, will force the resource to be replaced.\n"}},"requiredInputs":["instance"],"stateInputs":{"description":"Input properties used for looking up and filtering PublishImage resources.\n","properties":{"aliases":{"type":"array","items":{"type":"string"},"description":"*Optional* - A list of aliases to assign to the image.\n"},"architecture":{"type":"string","description":"The architecture of the published image.\n"},"compressionAlgorithm":{"type":"string","description":"*Optional* - Override the compression algorithm for the image.\nValid values are (\u003cspan pulumi-lang-nodejs=\"`bzip2`\" pulumi-lang-dotnet=\"`Bzip2`\" pulumi-lang-go=\"`bzip2`\" pulumi-lang-python=\"`bzip2`\" pulumi-lang-yaml=\"`bzip2`\" pulumi-lang-java=\"`bzip2`\"\u003e`bzip2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`gzip`\" pulumi-lang-dotnet=\"`Gzip`\" pulumi-lang-go=\"`gzip`\" pulumi-lang-python=\"`gzip`\" pulumi-lang-yaml=\"`gzip`\" pulumi-lang-java=\"`gzip`\"\u003e`gzip`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`lzma`\" pulumi-lang-dotnet=\"`Lzma`\" pulumi-lang-go=\"`lzma`\" pulumi-lang-python=\"`lzma`\" pulumi-lang-yaml=\"`lzma`\" pulumi-lang-java=\"`lzma`\"\u003e`lzma`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`xz`\" pulumi-lang-dotnet=\"`Xz`\" pulumi-lang-go=\"`xz`\" pulumi-lang-python=\"`xz`\" pulumi-lang-yaml=\"`xz`\" pulumi-lang-java=\"`xz`\"\u003e`xz`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e). Defaults to \u003cspan pulumi-lang-nodejs=\"`gzip`\" pulumi-lang-dotnet=\"`Gzip`\" pulumi-lang-go=\"`gzip`\" pulumi-lang-python=\"`gzip`\" pulumi-lang-yaml=\"`gzip`\" pulumi-lang-java=\"`gzip`\"\u003e`gzip`\u003c/span\u003e.\n"},"createdAt":{"type":"number","description":"The creation timestamp of the published image.\n"},"filename":{"type":"string","description":"*Optional* - Used for export.\n"},"fingerprint":{"type":"string","description":"The fingerprint of the published image.\n"},"instance":{"type":"string","description":"**Required** - The name of the instance.\n"},"project":{"type":"string","description":"*Optional* - Name of the project where the published image will be stored.\n"},"properties":{"type":"object","additionalProperties":{"type":"string"},"description":"*Optional* - A map of properties to assign to the image.\n"},"public":{"type":"boolean","description":"*Optional* - Whether the image can be downloaded by untrusted users.\nValid values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"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"},"triggers":{"type":"array","items":{"type":"string"},"description":"*Optional* - A list of arbitrary strings that, when changed, will force the resource to be replaced.\n"}},"type":"object"}},"lxd:index/snapshot:Snapshot":{"description":"## #\u003cspan pulumi-lang-nodejs=\" lxd.Snapshot\n\" pulumi-lang-dotnet=\" lxd.Snapshot\n\" pulumi-lang-go=\" Snapshot\n\" pulumi-lang-python=\" Snapshot\n\" pulumi-lang-yaml=\" lxd.Snapshot\n\" pulumi-lang-java=\" lxd.Snapshot\n\"\u003e lxd.Snapshot\n\u003c/span\u003e\nManages a snapshot of an LXD instance.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as lxd from \"@pulumi/lxd\";\n\nconst instance = new lxd.Instance(\"instance\", {\n    name: \"my-instance\",\n    image: \"ubuntu\",\n    ephemeral: false,\n});\nconst snap1 = new lxd.Snapshot(\"snap1\", {\n    name: \"my-snapshot-1\",\n    instance: instance.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_lxd as lxd\n\ninstance = lxd.Instance(\"instance\",\n    name=\"my-instance\",\n    image=\"ubuntu\",\n    ephemeral=False)\nsnap1 = lxd.Snapshot(\"snap1\",\n    name=\"my-snapshot-1\",\n    instance=instance.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Lxd = Pulumi.Lxd;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var instance = new Lxd.Instance(\"instance\", new()\n    {\n        Name = \"my-instance\",\n        Image = \"ubuntu\",\n        Ephemeral = false,\n    });\n\n    var snap1 = new Lxd.Snapshot(\"snap1\", new()\n    {\n        Name = \"my-snapshot-1\",\n        Instance = instance.Name,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/lxd/v2/lxd\"\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 := lxd.NewInstance(ctx, \"instance\", \u0026lxd.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 = lxd.NewSnapshot(ctx, \"snap1\", \u0026lxd.SnapshotArgs{\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.lxd.Instance;\nimport com.pulumi.lxd.InstanceArgs;\nimport com.pulumi.lxd.Snapshot;\nimport com.pulumi.lxd.SnapshotArgs;\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 Snapshot(\"snap1\", SnapshotArgs.builder()\n            .name(\"my-snapshot-1\")\n            .instance(instance.name())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  instance:\n    type: lxd:Instance\n    properties:\n      name: my-instance\n      image: ubuntu\n      ephemeral: false\n  snap1:\n    type: lxd:Snapshot\n    properties:\n      name: my-snapshot-1\n      instance: ${instance.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"createdAt":{"type":"number","description":"The time LXD  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"},"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 \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e to create a stateful snapshot,\n\u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e for stateless. Stateful snapshots include runtime state. Defaults to\n\u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"type":"object","required":["createdAt","instance","name","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"},"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 \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e to create a stateful snapshot,\n\u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e for stateless. Stateful snapshots include runtime state. Defaults to\n\u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"requiredInputs":["instance"],"stateInputs":{"description":"Input properties used for looking up and filtering Snapshot resources.\n","properties":{"createdAt":{"type":"number","description":"The time LXD  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"},"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 \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e to create a stateful snapshot,\n\u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e for stateless. Stateful snapshots include runtime state. Defaults to\n\u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"type":"object"}},"lxd:index/storageBucket:StorageBucket":{"properties":{"config":{"type":"object","additionalProperties":{"type":"string"},"description":"*Optional* - Map of key/value pairs of\n[storage bucket config settings](https://documentation.ubuntu.com/lxd/latest/howto/storage_buckets/#configure-storage-bucket-settings).\nNote that config settings vary depending on the used storage pool.\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.\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"},"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","required":["config","description","location","name","pool","target"],"inputProperties":{"config":{"type":"object","additionalProperties":{"type":"string"},"description":"*Optional* - Map of key/value pairs of\n[storage bucket config settings](https://documentation.ubuntu.com/lxd/latest/howto/storage_buckets/#configure-storage-bucket-settings).\nNote that config settings vary depending on the used storage pool.\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"},"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":["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://documentation.ubuntu.com/lxd/latest/howto/storage_buckets/#configure-storage-bucket-settings).\nNote that config settings vary depending on the used storage pool.\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.\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"},"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"}},"lxd:index/storageBucketKey:StorageBucketKey":{"properties":{"accessKey":{"type":"string","description":"Access key of the storage bucket key.\n","secret":true},"bucket":{"type":"string","description":"**Required** - Name of the storage bucket.\n"},"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"},"remote":{"type":"string","description":"*Optional* - The remote in which the resource will be created. If not provided,\nthe provider's default remote will be used.\n"},"role":{"type":"string","description":"*Optional* - Name of the role that controls the access rights for the key.\nIf not specified, the default role is used, as described in the [official documentation](https://documentation.ubuntu.com/lxd/latest/howto/storage_buckets/#manage-storage-bucket-keys).\n"},"secretKey":{"type":"string","description":"Secret key of the storage bucket key.\n","secret":true}},"type":"object","required":["accessKey","bucket","description","name","pool","role","secretKey"],"inputProperties":{"bucket":{"type":"string","description":"**Required** - Name of the storage bucket.\n"},"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"},"remote":{"type":"string","description":"*Optional* - The remote in which the resource will be created. If not provided,\nthe provider's default remote will be used.\n"},"role":{"type":"string","description":"*Optional* - Name of the role that controls the access rights for the key.\nIf not specified, the default role is used, as described in the [official documentation](https://documentation.ubuntu.com/lxd/latest/howto/storage_buckets/#manage-storage-bucket-keys).\n"}},"requiredInputs":["bucket","pool"],"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},"bucket":{"type":"string","description":"**Required** - Name of the storage bucket.\n"},"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"},"remote":{"type":"string","description":"*Optional* - The remote in which the resource will be created. If not provided,\nthe provider's default remote will be used.\n"},"role":{"type":"string","description":"*Optional* - Name of the role that controls the access rights for the key.\nIf not specified, the default role is used, as described in the [official documentation](https://documentation.ubuntu.com/lxd/latest/howto/storage_buckets/#manage-storage-bucket-keys).\n"},"secretKey":{"type":"string","description":"Secret key of the storage bucket key.\n","secret":true}},"type":"object"}},"lxd:index/storagePool:StoragePool":{"properties":{"config":{"type":"object","additionalProperties":{"type":"string"},"description":"*Optional* - Map of key/value pairs of\n[storage pool config settings](https://documentation.ubuntu.com/lxd/latest/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 \u003cspan pulumi-lang-nodejs=\"`dir`\" pulumi-lang-dotnet=\"`Dir`\" pulumi-lang-go=\"`dir`\" pulumi-lang-python=\"`dir`\" pulumi-lang-yaml=\"`dir`\" pulumi-lang-java=\"`dir`\"\u003e`dir`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`zfs`\" pulumi-lang-dotnet=\"`Zfs`\" pulumi-lang-go=\"`zfs`\" pulumi-lang-python=\"`zfs`\" pulumi-lang-yaml=\"`zfs`\" pulumi-lang-java=\"`zfs`\"\u003e`zfs`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`lvm`\" pulumi-lang-dotnet=\"`Lvm`\" pulumi-lang-go=\"`lvm`\" pulumi-lang-python=\"`lvm`\" pulumi-lang-yaml=\"`lvm`\" pulumi-lang-java=\"`lvm`\"\u003e`lvm`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`btrfs`\" pulumi-lang-dotnet=\"`Btrfs`\" pulumi-lang-go=\"`btrfs`\" pulumi-lang-python=\"`btrfs`\" pulumi-lang-yaml=\"`btrfs`\" pulumi-lang-java=\"`btrfs`\"\u003e`btrfs`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ceph`\" pulumi-lang-dotnet=\"`Ceph`\" pulumi-lang-go=\"`ceph`\" pulumi-lang-python=\"`ceph`\" pulumi-lang-yaml=\"`ceph`\" pulumi-lang-java=\"`ceph`\"\u003e`ceph`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`cephfs`\" pulumi-lang-dotnet=\"`Cephfs`\" pulumi-lang-go=\"`cephfs`\" pulumi-lang-python=\"`cephfs`\" pulumi-lang-yaml=\"`cephfs`\" pulumi-lang-java=\"`cephfs`\"\u003e`cephfs`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`cephobject`\" pulumi-lang-dotnet=\"`Cephobject`\" pulumi-lang-go=\"`cephobject`\" pulumi-lang-python=\"`cephobject`\" pulumi-lang-yaml=\"`cephobject`\" pulumi-lang-java=\"`cephobject`\"\u003e`cephobject`\u003c/span\u003e.\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"},"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"},"source":{"type":"string","description":"*Optional* - Source of the storage pool that is applicable only during the creation.\nWhile this corresponds to `config.source` in LXD, `config.source` is adjusted after creation by\nLXD based on the underlying storage driver. Therefore, using \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e during creation prevents an\ninconsistent pulumi preview.\n"},"target":{"type":"string","description":"*Optional* - Specify a target node in a cluster.\n"}},"type":"object","required":["config","description","driver","name"],"inputProperties":{"config":{"type":"object","additionalProperties":{"type":"string"},"description":"*Optional* - Map of key/value pairs of\n[storage pool config settings](https://documentation.ubuntu.com/lxd/latest/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 \u003cspan pulumi-lang-nodejs=\"`dir`\" pulumi-lang-dotnet=\"`Dir`\" pulumi-lang-go=\"`dir`\" pulumi-lang-python=\"`dir`\" pulumi-lang-yaml=\"`dir`\" pulumi-lang-java=\"`dir`\"\u003e`dir`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`zfs`\" pulumi-lang-dotnet=\"`Zfs`\" pulumi-lang-go=\"`zfs`\" pulumi-lang-python=\"`zfs`\" pulumi-lang-yaml=\"`zfs`\" pulumi-lang-java=\"`zfs`\"\u003e`zfs`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`lvm`\" pulumi-lang-dotnet=\"`Lvm`\" pulumi-lang-go=\"`lvm`\" pulumi-lang-python=\"`lvm`\" pulumi-lang-yaml=\"`lvm`\" pulumi-lang-java=\"`lvm`\"\u003e`lvm`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`btrfs`\" pulumi-lang-dotnet=\"`Btrfs`\" pulumi-lang-go=\"`btrfs`\" pulumi-lang-python=\"`btrfs`\" pulumi-lang-yaml=\"`btrfs`\" pulumi-lang-java=\"`btrfs`\"\u003e`btrfs`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ceph`\" pulumi-lang-dotnet=\"`Ceph`\" pulumi-lang-go=\"`ceph`\" pulumi-lang-python=\"`ceph`\" pulumi-lang-yaml=\"`ceph`\" pulumi-lang-java=\"`ceph`\"\u003e`ceph`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`cephfs`\" pulumi-lang-dotnet=\"`Cephfs`\" pulumi-lang-go=\"`cephfs`\" pulumi-lang-python=\"`cephfs`\" pulumi-lang-yaml=\"`cephfs`\" pulumi-lang-java=\"`cephfs`\"\u003e`cephfs`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`cephobject`\" pulumi-lang-dotnet=\"`Cephobject`\" pulumi-lang-go=\"`cephobject`\" pulumi-lang-python=\"`cephobject`\" pulumi-lang-yaml=\"`cephobject`\" pulumi-lang-java=\"`cephobject`\"\u003e`cephobject`\u003c/span\u003e.\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"},"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"},"source":{"type":"string","description":"*Optional* - Source of the storage pool that is applicable only during the creation.\nWhile this corresponds to `config.source` in LXD, `config.source` is adjusted after creation by\nLXD based on the underlying storage driver. Therefore, using \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e during creation prevents an\ninconsistent pulumi preview.\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://documentation.ubuntu.com/lxd/latest/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 \u003cspan pulumi-lang-nodejs=\"`dir`\" pulumi-lang-dotnet=\"`Dir`\" pulumi-lang-go=\"`dir`\" pulumi-lang-python=\"`dir`\" pulumi-lang-yaml=\"`dir`\" pulumi-lang-java=\"`dir`\"\u003e`dir`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`zfs`\" pulumi-lang-dotnet=\"`Zfs`\" pulumi-lang-go=\"`zfs`\" pulumi-lang-python=\"`zfs`\" pulumi-lang-yaml=\"`zfs`\" pulumi-lang-java=\"`zfs`\"\u003e`zfs`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`lvm`\" pulumi-lang-dotnet=\"`Lvm`\" pulumi-lang-go=\"`lvm`\" pulumi-lang-python=\"`lvm`\" pulumi-lang-yaml=\"`lvm`\" pulumi-lang-java=\"`lvm`\"\u003e`lvm`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`btrfs`\" pulumi-lang-dotnet=\"`Btrfs`\" pulumi-lang-go=\"`btrfs`\" pulumi-lang-python=\"`btrfs`\" pulumi-lang-yaml=\"`btrfs`\" pulumi-lang-java=\"`btrfs`\"\u003e`btrfs`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ceph`\" pulumi-lang-dotnet=\"`Ceph`\" pulumi-lang-go=\"`ceph`\" pulumi-lang-python=\"`ceph`\" pulumi-lang-yaml=\"`ceph`\" pulumi-lang-java=\"`ceph`\"\u003e`ceph`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`cephfs`\" pulumi-lang-dotnet=\"`Cephfs`\" pulumi-lang-go=\"`cephfs`\" pulumi-lang-python=\"`cephfs`\" pulumi-lang-yaml=\"`cephfs`\" pulumi-lang-java=\"`cephfs`\"\u003e`cephfs`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`cephobject`\" pulumi-lang-dotnet=\"`Cephobject`\" pulumi-lang-go=\"`cephobject`\" pulumi-lang-python=\"`cephobject`\" pulumi-lang-yaml=\"`cephobject`\" pulumi-lang-java=\"`cephobject`\"\u003e`cephobject`\u003c/span\u003e.\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"},"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"},"source":{"type":"string","description":"*Optional* - Source of the storage pool that is applicable only during the creation.\nWhile this corresponds to `config.source` in LXD, `config.source` is adjusted after creation by\nLXD based on the underlying storage driver. Therefore, using \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e during creation prevents an\ninconsistent pulumi preview.\n"},"target":{"type":"string","description":"*Optional* - Specify a target node in a cluster.\n"}},"type":"object"}},"lxd:index/trustCertificate:TrustCertificate":{"description":"## #\u003cspan pulumi-lang-nodejs=\" lxd.TrustCertificate\n\" pulumi-lang-dotnet=\" lxd.TrustCertificate\n\" pulumi-lang-go=\" TrustCertificate\n\" pulumi-lang-python=\" TrustCertificate\n\" pulumi-lang-yaml=\" lxd.TrustCertificate\n\" pulumi-lang-java=\" lxd.TrustCertificate\n\"\u003e lxd.TrustCertificate\n\u003c/span\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`lxd.TrustCertificate`\" pulumi-lang-dotnet=\"`lxd.TrustCertificate`\" pulumi-lang-go=\"`TrustCertificate`\" pulumi-lang-python=\"`TrustCertificate`\" pulumi-lang-yaml=\"`lxd.TrustCertificate`\" pulumi-lang-java=\"`lxd.TrustCertificate`\"\u003e`lxd.TrustCertificate`\u003c/span\u003e resource allows you to register new client certificates in the LXD trust store.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as lxd from \"@pulumi/lxd\";\n\nconst cert1 = new lxd.TrustCertificate(\"cert1\", {\n    name: \"cert1\",\n    path: \"/path/to/cert\",\n});\nconst cert2 = new lxd.TrustCertificate(\"cert2\", {\n    name: \"cert2\",\n    content: `-----BEGIN CERTIFICATE-----\n...\n-----END CERTIFICATE-----\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_lxd as lxd\n\ncert1 = lxd.TrustCertificate(\"cert1\",\n    name=\"cert1\",\n    path=\"/path/to/cert\")\ncert2 = lxd.TrustCertificate(\"cert2\",\n    name=\"cert2\",\n    content=\"\"\"-----BEGIN CERTIFICATE-----\n...\n-----END CERTIFICATE-----\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Lxd = Pulumi.Lxd;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var cert1 = new Lxd.TrustCertificate(\"cert1\", new()\n    {\n        Name = \"cert1\",\n        Path = \"/path/to/cert\",\n    });\n\n    var cert2 = new Lxd.TrustCertificate(\"cert2\", new()\n    {\n        Name = \"cert2\",\n        Content = @\"-----BEGIN CERTIFICATE-----\n...\n-----END CERTIFICATE-----\n\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/lxd/v2/lxd\"\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 := lxd.NewTrustCertificate(ctx, \"cert1\", \u0026lxd.TrustCertificateArgs{\n\t\t\tName: pulumi.String(\"cert1\"),\n\t\t\tPath: pulumi.String(\"/path/to/cert\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lxd.NewTrustCertificate(ctx, \"cert2\", \u0026lxd.TrustCertificateArgs{\n\t\t\tName:    pulumi.String(\"cert2\"),\n\t\t\tContent: pulumi.String(\"-----BEGIN CERTIFICATE-----\\n...\\n-----END CERTIFICATE-----\\n\"),\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.lxd.TrustCertificate;\nimport com.pulumi.lxd.TrustCertificateArgs;\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 cert1 = new TrustCertificate(\"cert1\", TrustCertificateArgs.builder()\n            .name(\"cert1\")\n            .path(\"/path/to/cert\")\n            .build());\n\n        var cert2 = new TrustCertificate(\"cert2\", TrustCertificateArgs.builder()\n            .name(\"cert2\")\n            .content(\"\"\"\n-----BEGIN CERTIFICATE-----\n...\n-----END CERTIFICATE-----\n            \"\"\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  cert1:\n    type: lxd:TrustCertificate\n    properties:\n      name: cert1\n      path: /path/to/cert\n  cert2:\n    type: lxd:TrustCertificate\n    properties:\n      name: cert2\n      content: |\n        -----BEGIN CERTIFICATE-----\n        ...\n        -----END CERTIFICATE-----\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Notes\n\n* See the LXD [documentation](https://documentation.ubuntu.com/lxd/latest/authentication/#tls-client-certificates) for more information on client certificates.\n","properties":{"content":{"type":"string","description":"Content of the client certificate.","secret":true},"fingerprint":{"type":"string","description":"The unique hash fingerprint of the certificate.\n"},"name":{"type":"string","description":"**Required** - Name of the certificate.\n"},"path":{"type":"string","description":"*__Required__ unless content is used* - The path to a file containing a 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"},"type":{"type":"string","description":"*Optional* - Certificate type. Can be either \u003cspan pulumi-lang-nodejs=\"`client`\" pulumi-lang-dotnet=\"`Client`\" pulumi-lang-go=\"`client`\" pulumi-lang-python=\"`client`\" pulumi-lang-yaml=\"`client`\" pulumi-lang-java=\"`client`\"\u003e`client`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`metrics`\" pulumi-lang-dotnet=\"`Metrics`\" pulumi-lang-go=\"`metrics`\" pulumi-lang-python=\"`metrics`\" pulumi-lang-yaml=\"`metrics`\" pulumi-lang-java=\"`metrics`\"\u003e`metrics`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`client`\" pulumi-lang-dotnet=\"`Client`\" pulumi-lang-go=\"`client`\" pulumi-lang-python=\"`client`\" pulumi-lang-yaml=\"`client`\" pulumi-lang-java=\"`client`\"\u003e`client`\u003c/span\u003e.\n"}},"type":"object","required":["fingerprint","name","projects","type"],"inputProperties":{"content":{"type":"string","description":"Content of the client certificate.","secret":true},"name":{"type":"string","description":"**Required** - Name of the certificate.\n"},"path":{"type":"string","description":"*__Required__ unless content is used* - The path to a file containing a 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"},"type":{"type":"string","description":"*Optional* - Certificate type. Can be either \u003cspan pulumi-lang-nodejs=\"`client`\" pulumi-lang-dotnet=\"`Client`\" pulumi-lang-go=\"`client`\" pulumi-lang-python=\"`client`\" pulumi-lang-yaml=\"`client`\" pulumi-lang-java=\"`client`\"\u003e`client`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`metrics`\" pulumi-lang-dotnet=\"`Metrics`\" pulumi-lang-go=\"`metrics`\" pulumi-lang-python=\"`metrics`\" pulumi-lang-yaml=\"`metrics`\" pulumi-lang-java=\"`metrics`\"\u003e`metrics`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`client`\" pulumi-lang-dotnet=\"`Client`\" pulumi-lang-go=\"`client`\" pulumi-lang-python=\"`client`\" pulumi-lang-yaml=\"`client`\" pulumi-lang-java=\"`client`\"\u003e`client`\u003c/span\u003e.\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering TrustCertificate resources.\n","properties":{"content":{"type":"string","description":"Content of the client certificate.","secret":true},"fingerprint":{"type":"string","description":"The unique hash fingerprint of the certificate.\n"},"name":{"type":"string","description":"**Required** - Name of the certificate.\n"},"path":{"type":"string","description":"*__Required__ unless content is used* - The path to a file containing a 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"},"type":{"type":"string","description":"*Optional* - Certificate type. Can be either \u003cspan pulumi-lang-nodejs=\"`client`\" pulumi-lang-dotnet=\"`Client`\" pulumi-lang-go=\"`client`\" pulumi-lang-python=\"`client`\" pulumi-lang-yaml=\"`client`\" pulumi-lang-java=\"`client`\"\u003e`client`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`metrics`\" pulumi-lang-dotnet=\"`Metrics`\" pulumi-lang-go=\"`metrics`\" pulumi-lang-python=\"`metrics`\" pulumi-lang-yaml=\"`metrics`\" pulumi-lang-java=\"`metrics`\"\u003e`metrics`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`client`\" pulumi-lang-dotnet=\"`Client`\" pulumi-lang-go=\"`client`\" pulumi-lang-python=\"`client`\" pulumi-lang-yaml=\"`client`\" pulumi-lang-java=\"`client`\"\u003e`client`\u003c/span\u003e.\n"}},"type":"object"}},"lxd:index/trustToken:TrustToken":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as lxd from \"@pulumi/lxd\";\n\nconst token1 = new lxd.TrustToken(\"token1\", {name: \"mytoken\"});\nexport const token = token1.token;\n```\n```python\nimport pulumi\nimport pulumi_lxd as lxd\n\ntoken1 = lxd.TrustToken(\"token1\", name=\"mytoken\")\npulumi.export(\"token\", token1.token)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Lxd = Pulumi.Lxd;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var token1 = new Lxd.TrustToken(\"token1\", new()\n    {\n        Name = \"mytoken\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"token\"] = token1.Token,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/lxd/v2/lxd\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttoken1, err := lxd.NewTrustToken(ctx, \"token1\", \u0026lxd.TrustTokenArgs{\n\t\t\tName: pulumi.String(\"mytoken\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"token\", token1.Token)\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.lxd.TrustToken;\nimport com.pulumi.lxd.TrustTokenArgs;\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 token1 = new TrustToken(\"token1\", TrustTokenArgs.builder()\n            .name(\"mytoken\")\n            .build());\n\n        ctx.export(\"token\", token1.token());\n    }\n}\n```\n```yaml\nresources:\n  token1:\n    type: lxd:TrustToken\n    properties:\n      name: mytoken\noutputs:\n  token: ${token1.token}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Trust token expiry\n\n\u003e **Warning:** The provider is unable to differentiate between an expired and a consumed token.\n  If token generation is set to \u003cspan pulumi-lang-nodejs=\"`once`\" pulumi-lang-dotnet=\"`Once`\" pulumi-lang-go=\"`once`\" pulumi-lang-python=\"`once`\" pulumi-lang-yaml=\"`once`\" pulumi-lang-java=\"`once`\"\u003e`once`\u003c/span\u003e and the token expires, it will not be regenerated.\n\nTrust token expiry is defined in the server's configuration (`core.remote_token_expiry`).\nIf the setting is configured, \u003cspan pulumi-lang-nodejs=\"`expiresAt`\" pulumi-lang-dotnet=\"`ExpiresAt`\" pulumi-lang-go=\"`expiresAt`\" pulumi-lang-python=\"`expires_at`\" pulumi-lang-yaml=\"`expiresAt`\" pulumi-lang-java=\"`expiresAt`\"\u003e`expires_at`\u003c/span\u003e attribute will be populated, otherwise, it will be empty.\n\nFor example, to set the token expiry to 20 minutes, run the following command:\n```\nlxc config set core.remote_token_expiry=20M\n```\n\nIf trigger is set to \u003cspan pulumi-lang-nodejs=\"`once`\" pulumi-lang-dotnet=\"`Once`\" pulumi-lang-go=\"`once`\" pulumi-lang-python=\"`once`\" pulumi-lang-yaml=\"`once`\" pulumi-lang-java=\"`once`\"\u003e`once`\u003c/span\u003e the token will not be regenerated on subsequent plan applies.\nBy setting the trigger to \u003cspan pulumi-lang-nodejs=\"`always`\" pulumi-lang-dotnet=\"`Always`\" pulumi-lang-go=\"`always`\" pulumi-lang-python=\"`always`\" pulumi-lang-yaml=\"`always`\" pulumi-lang-java=\"`always`\"\u003e`always`\u003c/span\u003e ensures that the token is always present, and will be regenerated if missing.\n\n## Notes\n\n* Token's unique identifier is the operation ID and not the token name. Therefore, multiple tokens can exist with the same name.\n\n* See the LXD [documentation](https://documentation.ubuntu.com/lxd/latest/authentication/#authentication-token) for more information on trust tokens.\n","properties":{"expiresAt":{"type":"string","description":"Time at which the trust token expires. If token expiry is configured, the value will be in format `YYYY/MM/DD hh:mm TZ`.\n"},"name":{"type":"string","description":"**Required** - Name of the token.\n"},"operationId":{"type":"string"},"projects":{"type":"array","items":{"type":"string"},"description":"*Optional* - List of projects to restrict the token to.\n"},"remote":{"type":"string","description":"*Optional* - The remote in which the resource will be created. If not provided,\nthe provider's default remote will be used.\n"},"token":{"type":"string","description":"The generated token.\n"},"trigger":{"type":"string","description":"*Optional* - When to trigger the token generation. Possible values are \u003cspan pulumi-lang-nodejs=\"`once`\" pulumi-lang-dotnet=\"`Once`\" pulumi-lang-go=\"`once`\" pulumi-lang-python=\"`once`\" pulumi-lang-yaml=\"`once`\" pulumi-lang-java=\"`once`\"\u003e`once`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`always`\" pulumi-lang-dotnet=\"`Always`\" pulumi-lang-go=\"`always`\" pulumi-lang-python=\"`always`\" pulumi-lang-yaml=\"`always`\" pulumi-lang-java=\"`always`\"\u003e`always`\u003c/span\u003e (if missing). Defaults to \u003cspan pulumi-lang-nodejs=\"`once`\" pulumi-lang-dotnet=\"`Once`\" pulumi-lang-go=\"`once`\" pulumi-lang-python=\"`once`\" pulumi-lang-yaml=\"`once`\" pulumi-lang-java=\"`once`\"\u003e`once`\u003c/span\u003e.\n"}},"type":"object","required":["expiresAt","name","operationId","projects","token","trigger"],"inputProperties":{"name":{"type":"string","description":"**Required** - Name of the token.\n"},"projects":{"type":"array","items":{"type":"string"},"description":"*Optional* - List of projects to restrict the token to.\n"},"remote":{"type":"string","description":"*Optional* - The remote in which the resource will be created. If not provided,\nthe provider's default remote will be used.\n"},"trigger":{"type":"string","description":"*Optional* - When to trigger the token generation. Possible values are \u003cspan pulumi-lang-nodejs=\"`once`\" pulumi-lang-dotnet=\"`Once`\" pulumi-lang-go=\"`once`\" pulumi-lang-python=\"`once`\" pulumi-lang-yaml=\"`once`\" pulumi-lang-java=\"`once`\"\u003e`once`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`always`\" pulumi-lang-dotnet=\"`Always`\" pulumi-lang-go=\"`always`\" pulumi-lang-python=\"`always`\" pulumi-lang-yaml=\"`always`\" pulumi-lang-java=\"`always`\"\u003e`always`\u003c/span\u003e (if missing). Defaults to \u003cspan pulumi-lang-nodejs=\"`once`\" pulumi-lang-dotnet=\"`Once`\" pulumi-lang-go=\"`once`\" pulumi-lang-python=\"`once`\" pulumi-lang-yaml=\"`once`\" pulumi-lang-java=\"`once`\"\u003e`once`\u003c/span\u003e.\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering TrustToken resources.\n","properties":{"expiresAt":{"type":"string","description":"Time at which the trust token expires. If token expiry is configured, the value will be in format `YYYY/MM/DD hh:mm TZ`.\n"},"name":{"type":"string","description":"**Required** - Name of the token.\n"},"operationId":{"type":"string"},"projects":{"type":"array","items":{"type":"string"},"description":"*Optional* - List of projects to restrict the token to.\n"},"remote":{"type":"string","description":"*Optional* - The remote in which the resource will be created. If not provided,\nthe provider's default remote will be used.\n"},"token":{"type":"string","description":"The generated token.\n"},"trigger":{"type":"string","description":"*Optional* - When to trigger the token generation. Possible values are \u003cspan pulumi-lang-nodejs=\"`once`\" pulumi-lang-dotnet=\"`Once`\" pulumi-lang-go=\"`once`\" pulumi-lang-python=\"`once`\" pulumi-lang-yaml=\"`once`\" pulumi-lang-java=\"`once`\"\u003e`once`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`always`\" pulumi-lang-dotnet=\"`Always`\" pulumi-lang-go=\"`always`\" pulumi-lang-python=\"`always`\" pulumi-lang-yaml=\"`always`\" pulumi-lang-java=\"`always`\"\u003e`always`\u003c/span\u003e (if missing). Defaults to \u003cspan pulumi-lang-nodejs=\"`once`\" pulumi-lang-dotnet=\"`Once`\" pulumi-lang-go=\"`once`\" pulumi-lang-python=\"`once`\" pulumi-lang-yaml=\"`once`\" pulumi-lang-java=\"`once`\"\u003e`once`\u003c/span\u003e.\n"}},"type":"object"}},"lxd:index/volume:Volume":{"properties":{"config":{"type":"object","additionalProperties":{"type":"string"},"description":"*Optional* - Map of key/value pairs of\n[volume config settings](https://documentation.ubuntu.com/lxd/latest/reference/storage_drivers/).\nConfig settings vary depending on the Storage Pool used.\n"},"contentType":{"type":"string","description":"*Optional* - Volume content type (\u003cspan pulumi-lang-nodejs=\"`filesystem`\" pulumi-lang-dotnet=\"`Filesystem`\" pulumi-lang-go=\"`filesystem`\" pulumi-lang-python=\"`filesystem`\" pulumi-lang-yaml=\"`filesystem`\" pulumi-lang-java=\"`filesystem`\"\u003e`filesystem`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`block`\" pulumi-lang-dotnet=\"`Block`\" pulumi-lang-go=\"`block`\" pulumi-lang-python=\"`block`\" pulumi-lang-yaml=\"`block`\" pulumi-lang-java=\"`block`\"\u003e`block`\u003c/span\u003e)\n"},"description":{"type":"string","description":"*Optional* - Description of the volume.\n"},"location":{"type":"string","description":"Name of the node where volume was created. It could be useful with LXD 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"},"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 volume. The default value is \u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\"\u003e`custom`\u003c/span\u003e,\nwhich is the type to use for storage volumes attached to instances.\n"}},"type":"object","required":["config","contentType","description","location","name","pool","target","type"],"inputProperties":{"config":{"type":"object","additionalProperties":{"type":"string"},"description":"*Optional* - Map of key/value pairs of\n[volume config settings](https://documentation.ubuntu.com/lxd/latest/reference/storage_drivers/).\nConfig settings vary depending on the Storage Pool used.\n"},"contentType":{"type":"string","description":"*Optional* - Volume content type (\u003cspan pulumi-lang-nodejs=\"`filesystem`\" pulumi-lang-dotnet=\"`Filesystem`\" pulumi-lang-go=\"`filesystem`\" pulumi-lang-python=\"`filesystem`\" pulumi-lang-yaml=\"`filesystem`\" pulumi-lang-java=\"`filesystem`\"\u003e`filesystem`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`block`\" pulumi-lang-dotnet=\"`Block`\" pulumi-lang-go=\"`block`\" pulumi-lang-python=\"`block`\" pulumi-lang-yaml=\"`block`\" pulumi-lang-java=\"`block`\"\u003e`block`\u003c/span\u003e)\n"},"description":{"type":"string","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"},"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 volume. The default value is \u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\"\u003e`custom`\u003c/span\u003e,\nwhich is the type to use for storage volumes attached to instances.\n"}},"requiredInputs":["pool"],"stateInputs":{"description":"Input properties used for looking up and filtering Volume resources.\n","properties":{"config":{"type":"object","additionalProperties":{"type":"string"},"description":"*Optional* - Map of key/value pairs of\n[volume config settings](https://documentation.ubuntu.com/lxd/latest/reference/storage_drivers/).\nConfig settings vary depending on the Storage Pool used.\n"},"contentType":{"type":"string","description":"*Optional* - Volume content type (\u003cspan pulumi-lang-nodejs=\"`filesystem`\" pulumi-lang-dotnet=\"`Filesystem`\" pulumi-lang-go=\"`filesystem`\" pulumi-lang-python=\"`filesystem`\" pulumi-lang-yaml=\"`filesystem`\" pulumi-lang-java=\"`filesystem`\"\u003e`filesystem`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`block`\" pulumi-lang-dotnet=\"`Block`\" pulumi-lang-go=\"`block`\" pulumi-lang-python=\"`block`\" pulumi-lang-yaml=\"`block`\" pulumi-lang-java=\"`block`\"\u003e`block`\u003c/span\u003e)\n"},"description":{"type":"string","description":"*Optional* - Description of the volume.\n"},"location":{"type":"string","description":"Name of the node where volume was created. It could be useful with LXD 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"},"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 volume. The default value is \u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\"\u003e`custom`\u003c/span\u003e,\nwhich is the type to use for storage volumes attached to instances.\n"}},"type":"object"}},"lxd:index/volumeCopy:VolumeCopy":{"description":"## #\u003cspan pulumi-lang-nodejs=\" lxd.VolumeCopy\n\" pulumi-lang-dotnet=\" lxd.VolumeCopy\n\" pulumi-lang-go=\" VolumeCopy\n\" pulumi-lang-python=\" VolumeCopy\n\" pulumi-lang-yaml=\" lxd.VolumeCopy\n\" pulumi-lang-java=\" lxd.VolumeCopy\n\"\u003e lxd.VolumeCopy\n\u003c/span\u003e\nCopies an existing LXD volume.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as lxd from \"@pulumi/lxd\";\n\nconst pool1 = new lxd.StoragePool(\"pool1\", {\n    name: \"mypool\",\n    driver: \"dir\",\n});\nconst volume1 = new lxd.Volume(\"volume1\", {\n    name: \"myvolume\",\n    pool: pool1.name,\n});\nconst volume1Copy = new lxd.VolumeCopy(\"volume1_copy\", {\n    name: \"myvolume_copy\",\n    pool: pool1.name,\n    sourcePool: pool1.name,\n    sourceName: volume1.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_lxd as lxd\n\npool1 = lxd.StoragePool(\"pool1\",\n    name=\"mypool\",\n    driver=\"dir\")\nvolume1 = lxd.Volume(\"volume1\",\n    name=\"myvolume\",\n    pool=pool1.name)\nvolume1_copy = lxd.VolumeCopy(\"volume1_copy\",\n    name=\"myvolume_copy\",\n    pool=pool1.name,\n    source_pool=pool1.name,\n    source_name=volume1.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Lxd = Pulumi.Lxd;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var pool1 = new Lxd.StoragePool(\"pool1\", new()\n    {\n        Name = \"mypool\",\n        Driver = \"dir\",\n    });\n\n    var volume1 = new Lxd.Volume(\"volume1\", new()\n    {\n        Name = \"myvolume\",\n        Pool = pool1.Name,\n    });\n\n    var volume1Copy = new Lxd.VolumeCopy(\"volume1_copy\", new()\n    {\n        Name = \"myvolume_copy\",\n        Pool = pool1.Name,\n        SourcePool = pool1.Name,\n        SourceName = volume1.Name,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/lxd/v2/lxd\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpool1, err := lxd.NewStoragePool(ctx, \"pool1\", \u0026lxd.StoragePoolArgs{\n\t\t\tName:   pulumi.String(\"mypool\"),\n\t\t\tDriver: pulumi.String(\"dir\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvolume1, err := lxd.NewVolume(ctx, \"volume1\", \u0026lxd.VolumeArgs{\n\t\t\tName: pulumi.String(\"myvolume\"),\n\t\t\tPool: pool1.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lxd.NewVolumeCopy(ctx, \"volume1_copy\", \u0026lxd.VolumeCopyArgs{\n\t\t\tName:       pulumi.String(\"myvolume_copy\"),\n\t\t\tPool:       pool1.Name,\n\t\t\tSourcePool: pool1.Name,\n\t\t\tSourceName: volume1.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.lxd.StoragePool;\nimport com.pulumi.lxd.StoragePoolArgs;\nimport com.pulumi.lxd.Volume;\nimport com.pulumi.lxd.VolumeArgs;\nimport com.pulumi.lxd.VolumeCopy;\nimport com.pulumi.lxd.VolumeCopyArgs;\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 pool1 = new StoragePool(\"pool1\", StoragePoolArgs.builder()\n            .name(\"mypool\")\n            .driver(\"dir\")\n            .build());\n\n        var volume1 = new Volume(\"volume1\", VolumeArgs.builder()\n            .name(\"myvolume\")\n            .pool(pool1.name())\n            .build());\n\n        var volume1Copy = new VolumeCopy(\"volume1Copy\", VolumeCopyArgs.builder()\n            .name(\"myvolume_copy\")\n            .pool(pool1.name())\n            .sourcePool(pool1.name())\n            .sourceName(volume1.name())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  pool1:\n    type: lxd:StoragePool\n    properties:\n      name: mypool\n      driver: dir\n  volume1:\n    type: lxd:Volume\n    properties:\n      name: myvolume\n      pool: ${pool1.name}\n  volume1Copy:\n    type: lxd:VolumeCopy\n    name: volume1_copy\n    properties:\n      name: myvolume_copy\n      pool: ${pool1.name}\n      sourcePool: ${pool1.name}\n      sourceName: ${volume1.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Notes\n\n* [LXD move/copy documentation](https://documentation.ubuntu.com/lxd/latest/howto/storage_move_volume/).\n","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"},"project":{"type":"string","description":"*Optional* - Name of the target project where the volume will be copied 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"},"sourceName":{"type":"string","description":"**Required** - Name of the existing storage volume that is to be copied.\n"},"sourcePool":{"type":"string","description":"**Required** - The storage pool that hosts the existing volume to use as the source.\n"},"sourceRemote":{"type":"string","description":"*Optional* - The remote from which the source volume is to be copied. If\nit is not provided, the default provider remote is used.\n"},"target":{"type":"string","description":"*Optional* - Specify a target node in a cluster.\n"}},"type":"object","required":["name","pool","sourceName","sourcePool"],"inputProperties":{"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"},"project":{"type":"string","description":"*Optional* - Name of the target project where the volume will be copied 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"},"sourceName":{"type":"string","description":"**Required** - Name of the existing storage volume that is to be copied.\n"},"sourcePool":{"type":"string","description":"**Required** - The storage pool that hosts the existing volume to use as the source.\n"},"sourceRemote":{"type":"string","description":"*Optional* - The remote from which the source volume is to be copied. If\nit is not provided, the default provider remote is used.\n"},"target":{"type":"string","description":"*Optional* - Specify a target node in a cluster.\n"}},"requiredInputs":["pool","sourceName","sourcePool"],"stateInputs":{"description":"Input properties used for looking up and filtering VolumeCopy resources.\n","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"},"project":{"type":"string","description":"*Optional* - Name of the target project where the volume will be copied 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"},"sourceName":{"type":"string","description":"**Required** - Name of the existing storage volume that is to be copied.\n"},"sourcePool":{"type":"string","description":"**Required** - The storage pool that hosts the existing volume to use as the source.\n"},"sourceRemote":{"type":"string","description":"*Optional* - The remote from which the source volume is to be copied. If\nit is not provided, the default provider remote is used.\n"},"target":{"type":"string","description":"*Optional* - Specify a target node in a cluster.\n"}},"type":"object"}}},"functions":{"lxd:index/getAuthGroup:getAuthGroup":{"description":"## #\u003cspan pulumi-lang-nodejs=\" lxd.AuthGroup\n\" pulumi-lang-dotnet=\" lxd.AuthGroup\n\" pulumi-lang-go=\" AuthGroup\n\" pulumi-lang-python=\" AuthGroup\n\" pulumi-lang-yaml=\" lxd.AuthGroup\n\" pulumi-lang-java=\" lxd.AuthGroup\n\"\u003e lxd.AuthGroup\n\u003c/span\u003e\nProvides information about an existing LXD authorization group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as lxd from \"@pulumi/lxd\";\n\nconst group = lxd.getAuthGroup({\n    name: \"admins\",\n});\n```\n```python\nimport pulumi\nimport pulumi_lxd as lxd\n\ngroup = lxd.get_auth_group(name=\"admins\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Lxd = Pulumi.Lxd;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @group = Lxd.GetAuthGroup.Invoke(new()\n    {\n        Name = \"admins\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/lxd/v2/lxd\"\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 := lxd.LookupAuthGroup(ctx, \u0026lxd.LookupAuthGroupArgs{\n\t\t\tName: \"admins\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.lxd.LxdFunctions;\nimport com.pulumi.lxd.inputs.GetAuthGroupArgs;\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 group = LxdFunctions.getAuthGroup(GetAuthGroupArgs.builder()\n            .name(\"admins\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  group:\n    fn::invoke:\n      function: lxd:getAuthGroup\n      arguments:\n        name: admins\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getAuthGroup.\n","properties":{"name":{"type":"string","description":"**Required** - Name of the 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","required":["name"]},"outputs":{"description":"A collection of values returned by getAuthGroup.\n","properties":{"description":{"description":"Description of the group.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"type":"string"},"permissions":{"description":"List of group permissions.\n","items":{"$ref":"#/types/lxd:index%2FgetAuthGroupPermission:getAuthGroupPermission"},"type":"array"},"remote":{"type":"string"}},"required":["description","id","name","permissions"],"type":"object"}},"lxd:index/getAuthIdentity:getAuthIdentity":{"description":"## #\u003cspan pulumi-lang-nodejs=\" lxd.AuthIdentity\n\" pulumi-lang-dotnet=\" lxd.AuthIdentity\n\" pulumi-lang-go=\" AuthIdentity\n\" pulumi-lang-python=\" AuthIdentity\n\" pulumi-lang-yaml=\" lxd.AuthIdentity\n\" pulumi-lang-java=\" lxd.AuthIdentity\n\"\u003e lxd.AuthIdentity\n\u003c/span\u003e\nProvides information about an existing LXD identity.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as lxd from \"@pulumi/lxd\";\n\nconst id = lxd.getAuthIdentity({\n    authMethod: \"bearer\",\n    name: \"my-identity\",\n});\n```\n```python\nimport pulumi\nimport pulumi_lxd as lxd\n\nid = lxd.get_auth_identity(auth_method=\"bearer\",\n    name=\"my-identity\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Lxd = Pulumi.Lxd;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var id = Lxd.GetAuthIdentity.Invoke(new()\n    {\n        AuthMethod = \"bearer\",\n        Name = \"my-identity\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/lxd/v2/lxd\"\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 := lxd.LookupAuthIdentity(ctx, \u0026lxd.LookupAuthIdentityArgs{\n\t\t\tAuthMethod: \"bearer\",\n\t\t\tName:       \"my-identity\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.lxd.LxdFunctions;\nimport com.pulumi.lxd.inputs.GetAuthIdentityArgs;\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 id = LxdFunctions.getAuthIdentity(GetAuthIdentityArgs.builder()\n            .authMethod(\"bearer\")\n            .name(\"my-identity\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  id:\n    fn::invoke:\n      function: lxd:getAuthIdentity\n      arguments:\n        authMethod: bearer\n        name: my-identity\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getAuthIdentity.\n","properties":{"authMethod":{"type":"string","description":"**Required** - Authentication method, can be either \u003cspan pulumi-lang-nodejs=\"`tls`\" pulumi-lang-dotnet=\"`Tls`\" pulumi-lang-go=\"`tls`\" pulumi-lang-python=\"`tls`\" pulumi-lang-yaml=\"`tls`\" pulumi-lang-java=\"`tls`\"\u003e`tls`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`bearer`\" pulumi-lang-dotnet=\"`Bearer`\" pulumi-lang-go=\"`bearer`\" pulumi-lang-python=\"`bearer`\" pulumi-lang-yaml=\"`bearer`\" pulumi-lang-java=\"`bearer`\"\u003e`bearer`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`oidc`\" pulumi-lang-dotnet=\"`Oidc`\" pulumi-lang-go=\"`oidc`\" pulumi-lang-python=\"`oidc`\" pulumi-lang-yaml=\"`oidc`\" pulumi-lang-java=\"`oidc`\"\u003e`oidc`\u003c/span\u003e.\n"},"name":{"type":"string","description":"**Required** - Name of the identity.\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":["authMethod","name"]},"outputs":{"description":"A collection of values returned by getAuthIdentity.\n","properties":{"authMethod":{"type":"string"},"groups":{"description":"List of group names the identity is part of.\n","items":{"type":"string"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Identity ID.\n","type":"string"},"name":{"type":"string"},"remote":{"type":"string"},"tlsCertificate":{"description":"PEM encoded x509 certificate. Populated only for TLS identities.\n","secret":true,"type":"string"}},"required":["authMethod","groups","id","identifier","name","tlsCertificate"],"type":"object"}},"lxd:index/getImage:getImage":{"description":"## #\u003cspan pulumi-lang-nodejs=\" lxd.getImage\n\" pulumi-lang-dotnet=\" lxd.getImage\n\" pulumi-lang-go=\" getImage\n\" pulumi-lang-python=\" get_image\n\" pulumi-lang-yaml=\" lxd.getImage\n\" pulumi-lang-java=\" lxd.getImage\n\"\u003e lxd.getImage\n\u003c/span\u003e\nProvides information about an existing LXD image.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as lxd from \"@pulumi/lxd\";\n\nconst debianCustom = lxd.getImage({\n    name: \"debian_custom\",\n});\nconst inst = new lxd.Instance(\"inst\", {\n    name: \"my-instance\",\n    image: debianCustom.then(debianCustom =\u003e debianCustom.fingerprint),\n});\n```\n```python\nimport pulumi\nimport pulumi_lxd as lxd\n\ndebian_custom = lxd.get_image(name=\"debian_custom\")\ninst = lxd.Instance(\"inst\",\n    name=\"my-instance\",\n    image=debian_custom.fingerprint)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Lxd = Pulumi.Lxd;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var debianCustom = Lxd.GetImage.Invoke(new()\n    {\n        Name = \"debian_custom\",\n    });\n\n    var inst = new Lxd.Instance(\"inst\", new()\n    {\n        Name = \"my-instance\",\n        Image = debianCustom.Apply(getImageResult =\u003e getImageResult.Fingerprint),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/lxd/v2/lxd\"\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 := lxd.GetImage(ctx, \u0026lxd.GetImageArgs{\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 = lxd.NewInstance(ctx, \"inst\", \u0026lxd.InstanceArgs{\n\t\t\tName:  pulumi.String(\"my-instance\"),\n\t\t\tImage: pulumi.String(debianCustom.Fingerprint),\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.lxd.LxdFunctions;\nimport com.pulumi.lxd.inputs.GetImageArgs;\nimport com.pulumi.lxd.Instance;\nimport com.pulumi.lxd.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 = LxdFunctions.getImage(GetImageArgs.builder()\n            .name(\"debian_custom\")\n            .build());\n\n        var inst = new Instance(\"inst\", InstanceArgs.builder()\n            .name(\"my-instance\")\n            .image(debianCustom.fingerprint())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  inst:\n    type: lxd:Instance\n    properties:\n      name: my-instance\n      image: ${debianCustom.fingerprint}\nvariables:\n  debianCustom:\n    fn::invoke:\n      function: lxd: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. \u003cspan pulumi-lang-nodejs=\"`x8664`\" pulumi-lang-dotnet=\"`X8664`\" pulumi-lang-go=\"`x8664`\" pulumi-lang-python=\"`x86_64`\" pulumi-lang-yaml=\"`x8664`\" pulumi-lang-java=\"`x8664`\"\u003e`x86_64`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`aarch64`\" pulumi-lang-dotnet=\"`Aarch64`\" pulumi-lang-go=\"`aarch64`\" pulumi-lang-python=\"`aarch64`\" pulumi-lang-yaml=\"`aarch64`\" pulumi-lang-java=\"`aarch64`\"\u003e`aarch64`\u003c/span\u003e). See [Architectures](https://documentation.ubuntu.com/lxd/latest/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 is used.\n"},"type":{"type":"string","description":"*Optional* - Type of image. Must be one of \u003cspan pulumi-lang-nodejs=\"`container`\" pulumi-lang-dotnet=\"`Container`\" pulumi-lang-go=\"`container`\" pulumi-lang-python=\"`container`\" pulumi-lang-yaml=\"`container`\" pulumi-lang-java=\"`container`\"\u003e`container`\u003c/span\u003e or `virtual-machine`.\n"}},"type":"object"},"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":"number"},"fingerprint":{"type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"type":"string"},"project":{"type":"string"},"remote":{"type":"string"},"type":{"type":"string"}},"required":["aliases","architecture","createdAt","fingerprint","id","type"],"type":"object"}},"lxd:index/getInfo:getInfo":{"description":"## #\u003cspan pulumi-lang-nodejs=\" lxd.getInfo\n\" pulumi-lang-dotnet=\" lxd.getInfo\n\" pulumi-lang-go=\" getInfo\n\" pulumi-lang-python=\" get_info\n\" pulumi-lang-yaml=\" lxd.getInfo\n\" pulumi-lang-java=\" lxd.getInfo\n\"\u003e lxd.getInfo\n\u003c/span\u003e\nProvides general information about LXD remote.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as lxd from \"@pulumi/lxd\";\n\nconst local = lxd.getInfo({\n    remote: \"local\",\n});\n```\n```python\nimport pulumi\nimport pulumi_lxd as lxd\n\nlocal = lxd.get_info(remote=\"local\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Lxd = Pulumi.Lxd;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var local = Lxd.GetInfo.Invoke(new()\n    {\n        Remote = \"local\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/lxd/v2/lxd\"\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 := lxd.GetInfo(ctx, \u0026lxd.GetInfoArgs{\n\t\t\tRemote: pulumi.StringRef(\"local\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.lxd.LxdFunctions;\nimport com.pulumi.lxd.inputs.GetInfoArgs;\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 local = LxdFunctions.getInfo(GetInfoArgs.builder()\n            .remote(\"local\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  local:\n    fn::invoke:\n      function: lxd:getInfo\n      arguments:\n        remote: local\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getInfo.\n","properties":{"remote":{"type":"string","description":"*Optional* - The remote to inspect. If not provided, the provider's default remote is used.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getInfo.\n","properties":{"apiExtensions":{"description":"List of API extensions supported by the LXD server.\n","items":{"type":"string"},"type":"array"},"clusterMembers":{"additionalProperties":{"$ref":"#/types/lxd:index%2FgetInfoClusterMembers:getInfoClusterMembers"},"description":"Map of cluster members, which is empty if LXD is not clustered. The map key represents a cluster member name.\n","type":"object"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"instanceTypes":{"description":"List of supported instance types (e.g. `virtual-machine`, \u003cspan pulumi-lang-nodejs=\"`container`\" pulumi-lang-dotnet=\"`Container`\" pulumi-lang-go=\"`container`\" pulumi-lang-python=\"`container`\" pulumi-lang-yaml=\"`container`\" pulumi-lang-java=\"`container`\"\u003e`container`\u003c/span\u003e).\n","items":{"type":"string"},"type":"array"},"remote":{"type":"string"}},"required":["apiExtensions","clusterMembers","id","instanceTypes"],"type":"object"}},"lxd:index/getInstance:getInstance":{"description":"## #\u003cspan pulumi-lang-nodejs=\" lxd.Instance\n\" pulumi-lang-dotnet=\" lxd.Instance\n\" pulumi-lang-go=\" Instance\n\" pulumi-lang-python=\" Instance\n\" pulumi-lang-yaml=\" lxd.Instance\n\" pulumi-lang-java=\" lxd.Instance\n\"\u003e lxd.Instance\n\u003c/span\u003e\nProvides information about an existing LXD instance.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as lxd from \"@pulumi/lxd\";\n\nconst inst = lxd.getInstance({\n    name: \"my-instance\",\n});\n```\n```python\nimport pulumi\nimport pulumi_lxd as lxd\n\ninst = lxd.get_instance(name=\"my-instance\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Lxd = Pulumi.Lxd;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var inst = Lxd.GetInstance.Invoke(new()\n    {\n        Name = \"my-instance\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/lxd/v2/lxd\"\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 := lxd.LookupInstance(ctx, \u0026lxd.LookupInstanceArgs{\n\t\t\tName: \"my-instance\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.lxd.LxdFunctions;\nimport com.pulumi.lxd.inputs.GetInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var inst = LxdFunctions.getInstance(GetInstanceArgs.builder()\n            .name(\"my-instance\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  inst:\n    fn::invoke:\n      function: lxd:getInstance\n      arguments:\n        name: my-instance\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getInstance.\n","properties":{"name":{"type":"string","description":"**Required** - Name of the instance.\n"},"project":{"type":"string","description":"*Optional* - Name of the project where instance is located.\n"},"remote":{"type":"string","description":"*Optional* - The remote in which the resource was created. If\nnot provided, the provider's default remote is used.\n"}},"type":"object","required":["name"]},"outputs":{"description":"A collection of values returned by getInstance.\n","properties":{"config":{"additionalProperties":{"type":"string"},"description":"Map of key/value pairs of\n[instance config settings](https://documentation.ubuntu.com/lxd/latest/reference/instance_options/).\n","type":"object"},"description":{"description":"Description of the instance.\n","type":"string"},"devices":{"additionalProperties":{"$ref":"#/types/lxd:index%2FgetInstanceDevices:getInstanceDevices"},"description":"Map of instance devices. The map key represents a device name.\n","type":"object"},"ephemeral":{"description":"Boolean indicating if this instance is ephemeral.\n","type":"boolean"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"interfaces":{"additionalProperties":{"$ref":"#/types/lxd:index%2FgetInstanceInterfaces:getInstanceInterfaces"},"description":"Map of all instance network interfaces (excluding loopback device). The map key represents the name of the network device (from LXD configuration).\n","type":"object"},"ipv4Address":{"description":"The instance's IPv4 address.\n","type":"string"},"ipv6Address":{"description":"The instance's IPv6 address.\n","type":"string"},"limits":{"additionalProperties":{"type":"string"},"description":"Map of key/value pairs that define the\n[instance resources limits](https://documentation.ubuntu.com/lxd/latest/reference/instance_options/#resource-limits).\n","type":"object"},"location":{"description":"Name of the cluster member where instance is located.\n","type":"string"},"macAddress":{"description":"The instance's MAC address.\n","type":"string"},"name":{"type":"string"},"profiles":{"description":"List of applied instance profiles.\n","items":{"type":"string"},"type":"array"},"project":{"type":"string"},"remote":{"type":"string"},"running":{"description":"Boolean indicating whether the instance is currently running.\n","type":"boolean"},"status":{"description":"The status of the instance.\n","type":"string"},"type":{"description":"Instance type.\n","type":"string"}},"required":["config","description","devices","ephemeral","id","interfaces","ipv4Address","ipv6Address","limits","location","macAddress","name","profiles","running","status","type"],"type":"object"}},"lxd:index/getNetwork:getNetwork":{"description":"## #\u003cspan pulumi-lang-nodejs=\" lxd.Network\n\" pulumi-lang-dotnet=\" lxd.Network\n\" pulumi-lang-go=\" Network\n\" pulumi-lang-python=\" Network\n\" pulumi-lang-yaml=\" lxd.Network\n\" pulumi-lang-java=\" lxd.Network\n\"\u003e lxd.Network\n\u003c/span\u003e\nProvides information about an existing LXD network.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nresources:\n  inst:\n    type: lxd:Instance\n    properties:\n      name: my-instance\n      network: ${net.name}\nvariables:\n  net:\n    fn::invoke:\n      function: lxd:getNetwork\n      arguments:\n        name: lxdbr0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getNetwork.\n","properties":{"name":{"type":"string","description":"**Required** - Name of the network.\n"},"project":{"type":"string","description":"*Optional* - Name of the project where network is located.\n"},"remote":{"type":"string","description":"*Optional* - The remote in which the resource was created. If\nnot provided, the provider's default remote is used.\n"}},"type":"object","required":["name"]},"outputs":{"description":"A collection of values returned by getNetwork.\n","properties":{"config":{"additionalProperties":{"type":"string"},"description":"Map of key/value pairs of\n[network config settings](https://documentation.ubuntu.com/lxd/latest/networks/).\n","type":"object"},"description":{"description":"Network description.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"ipv4Address":{"description":"The network's global IPv4 address in CIDR notation. For example `10.0.190.1/24`. When no such address exists, an empty string is set.\n","type":"string"},"ipv6Address":{"description":"The network's global IPv6 address in CIDR notation. For example `fd42:b40e:534a:b208::1/64`. When no such address exists, an empty string is set.\n","type":"string"},"managed":{"description":"Whether or not the network is managed.\n","type":"boolean"},"name":{"type":"string"},"project":{"type":"string"},"remote":{"type":"string"},"type":{"description":"Network type.\n","type":"string"}},"required":["config","description","id","ipv4Address","ipv6Address","managed","name","type"],"type":"object"}},"lxd:index/getProfile:getProfile":{"description":"## #\u003cspan pulumi-lang-nodejs=\" lxd.Profile\n\" pulumi-lang-dotnet=\" lxd.Profile\n\" pulumi-lang-go=\" Profile\n\" pulumi-lang-python=\" Profile\n\" pulumi-lang-yaml=\" lxd.Profile\n\" pulumi-lang-java=\" lxd.Profile\n\"\u003e lxd.Profile\n\u003c/span\u003e\nProvides information about an existing LXD profile.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as lxd from \"@pulumi/lxd\";\n\nconst _default = lxd.getProfile({\n    name: \"default\",\n});\nconst inst = new lxd.Instance(\"inst\", {\n    name: \"my-instance\",\n    image: \"ubuntu:24.04\",\n    profiles: [_default.then(_default =\u003e _default.name)],\n});\n```\n```python\nimport pulumi\nimport pulumi_lxd as lxd\n\ndefault = lxd.get_profile(name=\"default\")\ninst = lxd.Instance(\"inst\",\n    name=\"my-instance\",\n    image=\"ubuntu:24.04\",\n    profiles=[default.name])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Lxd = Pulumi.Lxd;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @default = Lxd.GetProfile.Invoke(new()\n    {\n        Name = \"default\",\n    });\n\n    var inst = new Lxd.Instance(\"inst\", new()\n    {\n        Name = \"my-instance\",\n        Image = \"ubuntu:24.04\",\n        Profiles = new[]\n        {\n            @default.Apply(@default =\u003e @default.Apply(getProfileResult =\u003e getProfileResult.Name)),\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/lxd/v2/lxd\"\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 := lxd.LookupProfile(ctx, \u0026lxd.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 = lxd.NewInstance(ctx, \"inst\", \u0026lxd.InstanceArgs{\n\t\t\tName:  pulumi.String(\"my-instance\"),\n\t\t\tImage: pulumi.String(\"ubuntu:24.04\"),\n\t\t\tProfiles: pulumi.StringArray{\n\t\t\t\tpulumi.String(_default.Name),\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.lxd.LxdFunctions;\nimport com.pulumi.lxd.inputs.GetProfileArgs;\nimport com.pulumi.lxd.Instance;\nimport com.pulumi.lxd.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 = LxdFunctions.getProfile(GetProfileArgs.builder()\n            .name(\"default\")\n            .build());\n\n        var inst = new Instance(\"inst\", InstanceArgs.builder()\n            .name(\"my-instance\")\n            .image(\"ubuntu:24.04\")\n            .profiles(default_.name())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  inst:\n    type: lxd:Instance\n    properties:\n      name: my-instance\n      image: ubuntu:24.04\n      profiles:\n        - ${default.name}\nvariables:\n  default:\n    fn::invoke:\n      function: lxd: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/lxd:index%2FgetProfileDevice: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 is create.\n"},"remote":{"type":"string","description":"*Optional* - The remote in which the resource was created. If\nnot provided, the provider's default remote is 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://documentation.ubuntu.com/lxd/latest/reference/instance_options/).\n","type":"object"},"description":{"type":"string"},"devices":{"description":"Device definition. See reference below.\n","items":{"$ref":"#/types/lxd:index%2FgetProfileDevice:getProfileDevice"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"description":"Name of the device.\n","type":"string"},"project":{"type":"string"},"remote":{"type":"string"}},"required":["config","description","id","name"],"type":"object"}},"lxd:index/getProject:getProject":{"description":"## #\u003cspan pulumi-lang-nodejs=\" lxd.Project\n\" pulumi-lang-dotnet=\" lxd.Project\n\" pulumi-lang-go=\" Project\n\" pulumi-lang-python=\" Project\n\" pulumi-lang-yaml=\" lxd.Project\n\" pulumi-lang-java=\" lxd.Project\n\"\u003e lxd.Project\n\u003c/span\u003e\nProvides information about an existing LXD project.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as lxd from \"@pulumi/lxd\";\n\nconst _default = lxd.getProject({\n    name: \"default\",\n});\nconst inst = new lxd.Instance(\"inst\", {\n    name: \"my-instance\",\n    image: \"ubuntu:24.04\",\n    project: _default.then(_default =\u003e _default.name),\n});\n```\n```python\nimport pulumi\nimport pulumi_lxd as lxd\n\ndefault = lxd.get_project(name=\"default\")\ninst = lxd.Instance(\"inst\",\n    name=\"my-instance\",\n    image=\"ubuntu:24.04\",\n    project=default.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Lxd = Pulumi.Lxd;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @default = Lxd.GetProject.Invoke(new()\n    {\n        Name = \"default\",\n    });\n\n    var inst = new Lxd.Instance(\"inst\", new()\n    {\n        Name = \"my-instance\",\n        Image = \"ubuntu:24.04\",\n        Project = @default.Apply(@default =\u003e @default.Apply(getProjectResult =\u003e getProjectResult.Name)),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/lxd/v2/lxd\"\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 := lxd.LookupProject(ctx, \u0026lxd.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 = lxd.NewInstance(ctx, \"inst\", \u0026lxd.InstanceArgs{\n\t\t\tName:    pulumi.String(\"my-instance\"),\n\t\t\tImage:   pulumi.String(\"ubuntu:24.04\"),\n\t\t\tProject: pulumi.String(_default.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.lxd.LxdFunctions;\nimport com.pulumi.lxd.inputs.GetProjectArgs;\nimport com.pulumi.lxd.Instance;\nimport com.pulumi.lxd.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 = LxdFunctions.getProject(GetProjectArgs.builder()\n            .name(\"default\")\n            .build());\n\n        var inst = new Instance(\"inst\", InstanceArgs.builder()\n            .name(\"my-instance\")\n            .image(\"ubuntu:24.04\")\n            .project(default_.name())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  inst:\n    type: lxd:Instance\n    properties:\n      name: my-instance\n      image: ubuntu:24.04\n      project: ${default.name}\nvariables:\n  default:\n    fn::invoke:\n      function: lxd:getProject\n      arguments:\n        name: default\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getProject.\n","properties":{"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 is 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 [project config settings](https://documentation.ubuntu.com/lxd/latest/reference/projects/).\n","type":"object"},"description":{"description":"Description of the project.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"type":"string"},"remote":{"type":"string"}},"required":["config","description","id","name"],"type":"object"}},"lxd:index/getStoragePool:getStoragePool":{"description":"## #\u003cspan pulumi-lang-nodejs=\" lxd.StoragePool\n\" pulumi-lang-dotnet=\" lxd.StoragePool\n\" pulumi-lang-go=\" StoragePool\n\" pulumi-lang-python=\" StoragePool\n\" pulumi-lang-yaml=\" lxd.StoragePool\n\" pulumi-lang-java=\" lxd.StoragePool\n\"\u003e lxd.StoragePool\n\u003c/span\u003e\nProvides information about an existing LXD storage pool.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as lxd from \"@pulumi/lxd\";\n\nconst pool = lxd.getStoragePool({\n    name: \"my-pool\",\n});\n```\n```python\nimport pulumi\nimport pulumi_lxd as lxd\n\npool = lxd.get_storage_pool(name=\"my-pool\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Lxd = Pulumi.Lxd;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var pool = Lxd.GetStoragePool.Invoke(new()\n    {\n        Name = \"my-pool\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/lxd/v2/lxd\"\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 := lxd.LookupStoragePool(ctx, \u0026lxd.LookupStoragePoolArgs{\n\t\t\tName: \"my-pool\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.lxd.LxdFunctions;\nimport com.pulumi.lxd.inputs.GetStoragePoolArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var pool = LxdFunctions.getStoragePool(GetStoragePoolArgs.builder()\n            .name(\"my-pool\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  pool:\n    fn::invoke:\n      function: lxd:getStoragePool\n      arguments:\n        name: my-pool\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getStoragePool.\n","properties":{"name":{"type":"string","description":"**Required** - Name of the storage pool.\n"},"project":{"type":"string","description":"*Optional* - Name of the project where storage pool is located.\n"},"remote":{"type":"string","description":"*Optional* - The remote in which the resource was created. If\nnot provided, the provider's default remote is used.\n"}},"type":"object","required":["name"]},"outputs":{"description":"A collection of values returned by getStoragePool.\n","properties":{"config":{"additionalProperties":{"type":"string"},"description":"Map of key/value pairs of\n[storage pool config settings](https://documentation.ubuntu.com/lxd/latest/reference/storage_drivers/).\nConfig settings vary from driver to driver.\n","type":"object"},"description":{"description":"Description of the storage pool.\n","type":"string"},"driver":{"description":"Storage pool driver.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"locations":{"description":"List of cluster members where storage pool is located.\n","items":{"type":"string"},"type":"array"},"name":{"type":"string"},"project":{"type":"string"},"remote":{"type":"string"},"status":{"description":"The status of the storage pool.\n","type":"string"}},"required":["config","description","driver","id","locations","name","status"],"type":"object"}},"pulumi:providers:lxd/terraformConfig":{"description":"This function returns a Terraform config object with terraform-namecased keys,to be used with the Terraform Module Provider.","inputs":{"properties":{"__self__":{"$ref":"#/resources/pulumi:providers:lxd"}},"type":"object","required":["__self__"]},"outputs":{"properties":{"result":{"additionalProperties":{"$ref":"pulumi.json#/Any"},"type":"object"}},"required":["result"],"type":"object"}}},"parameterization":{"baseProvider":{"name":"terraform-provider","version":"1.0.1"},"parameter":"eyJyZW1vdGUiOnsidXJsIjoicmVnaXN0cnkub3BlbnRvZnUub3JnL3RlcnJhZm9ybS1seGQvbHhkIiwidmVyc2lvbiI6IjIuNy4wIn19"}}