{
  "name": "multipass",
  "displayName": "Multipass",
  "version": "v0.3.2",
  "description": "A Pulumi native provider for Canonical Multipass — declarative, snapshot-aware VM management via the multipass CLI.",
  "keywords": [
    "pulumi",
    "multipass",
    "vm",
    "canonical",
    "category/infrastructure"
  ],
  "homepage": "https://github.com/incsteps/pulumi-provider-multipass",
  "license": "Apache-2.0",
  "repository": "https://github.com/incsteps/pulumi-provider-multipass",
  "pluginDownloadURL": "github://api.github.com/incsteps/pulumi-provider-multipass",
  "publisher": "incsteps",
  "namespace": "incsteps",
  "language": {
    "go": {
      "generateResourceContainerTypes": true,
      "importBasePath": "github.com/incsteps/pulumi-provider-multipass/sdk/go/multipass",
      "respectSchemaVersion": true
    },
    "nodejs": {
      "packageName": "@incsteps/pulumi-multipass",
      "respectSchemaVersion": true
    }
  },
  "config": {
    "variables": {
      "launchTimeout": {
        "type": "integer",
        "description": "Seconds to wait for an instance to become Running. Default 300.",
        "default": 300
      },
      "multipassBin": {
        "type": "string",
        "description": "Path to the multipass binary. Defaults to 'multipass' in PATH.",
        "default": ""
      }
    }
  },
  "provider": {
    "properties": {
      "launchTimeout": {
        "type": "integer",
        "description": "Seconds to wait for an instance to become Running. Default 300.",
        "default": 300
      },
      "multipassBin": {
        "type": "string",
        "description": "Path to the multipass binary. Defaults to 'multipass' in PATH.",
        "default": ""
      }
    },
    "required": [
      "multipassBin",
      "launchTimeout"
    ],
    "inputProperties": {
      "launchTimeout": {
        "type": "integer",
        "description": "Seconds to wait for an instance to become Running. Default 300.",
        "default": 300
      },
      "multipassBin": {
        "type": "string",
        "description": "Path to the multipass binary. Defaults to 'multipass' in PATH.",
        "default": ""
      }
    }
  },
  "resources": {
    "multipass:resources:Instance": {
      "description": "A Multipass virtual machine instance.",
      "properties": {
        "allIpv4": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "cloudinit": {
          "type": "string",
          "description": "Path to a cloud-init user-data file or inline cloud-init configuration."
        },
        "cpus": {
          "type": "integer",
          "description": "The number of CPUs to allocate to the instance. Defaults to 1.",
          "default": 1
        },
        "disk": {
          "type": "string",
          "description": "The disk size to allocate (e.g., '5G', '10G'). Defaults to '5G'.",
          "default": "5G"
        },
        "image": {
          "type": "string",
          "description": "The OS image to launch (e.g., '24.04', 'daily:24.04'). Defaults to '24.04'.",
          "default": "24.04"
        },
        "imageHash": {
          "type": "string"
        },
        "imageRelease": {
          "type": "string"
        },
        "ipv4": {
          "type": "string"
        },
        "memory": {
          "type": "string",
          "description": "The amount of RAM to allocate (e.g., '1G', '2048M'). Defaults to '1G'.",
          "default": "1G"
        },
        "name": {
          "type": "string",
          "description": "The unique name of the Multipass virtual machine instance."
        },
        "state": {
          "type": "string"
        }
      },
      "required": [
        "name",
        "image",
        "cpus",
        "memory",
        "disk",
        "ipv4",
        "allIpv4",
        "state",
        "imageHash",
        "imageRelease"
      ],
      "inputProperties": {
        "cloudinit": {
          "type": "string",
          "description": "Path to a cloud-init user-data file or inline cloud-init configuration."
        },
        "cpus": {
          "type": "integer",
          "description": "The number of CPUs to allocate to the instance. Defaults to 1.",
          "default": 1
        },
        "disk": {
          "type": "string",
          "description": "The disk size to allocate (e.g., '5G', '10G'). Defaults to '5G'.",
          "default": "5G"
        },
        "image": {
          "type": "string",
          "description": "The OS image to launch (e.g., '24.04', 'daily:24.04'). Defaults to '24.04'.",
          "default": "24.04"
        },
        "memory": {
          "type": "string",
          "description": "The amount of RAM to allocate (e.g., '1G', '2048M'). Defaults to '1G'.",
          "default": "1G"
        },
        "name": {
          "type": "string",
          "description": "The unique name of the Multipass virtual machine instance."
        }
      },
      "requiredInputs": [
        "name"
      ]
    },
    "multipass:resources:Mount": {
      "description": "A host directory mount into a Multipass virtual machine instance.",
      "properties": {
        "instanceName": {
          "type": "string",
          "description": "The name of the Multipass VM instance."
        },
        "mountType": {
          "type": "string",
          "description": "The mount strategy to use (e.g., 'native' or 'classic'). Defaults to 'native'.",
          "default": "native"
        },
        "sourcePath": {
          "type": "string",
          "description": "The host directory path to mount into the VM."
        },
        "targetPath": {
          "type": "string",
          "description": "The target directory path inside the VM instance."
        }
      },
      "required": [
        "instanceName",
        "sourcePath",
        "targetPath",
        "mountType"
      ],
      "inputProperties": {
        "instanceName": {
          "type": "string",
          "description": "The name of the Multipass VM instance."
        },
        "mountType": {
          "type": "string",
          "description": "The mount strategy to use (e.g., 'native' or 'classic'). Defaults to 'native'.",
          "default": "native"
        },
        "sourcePath": {
          "type": "string",
          "description": "The host directory path to mount into the VM."
        },
        "targetPath": {
          "type": "string",
          "description": "The target directory path inside the VM instance."
        }
      },
      "requiredInputs": [
        "instanceName",
        "sourcePath",
        "targetPath"
      ]
    }
  }
}
