Files
PSProxmox/Documentation/cmdlets/Invoke-ProxmoxCloudImageCustomization.md
2025-05-09 16:49:09 -04:00

4.2 KiB

Invoke-ProxmoxCloudImageCustomization

Customizes a cloud image.

Syntax

Invoke-ProxmoxCloudImageCustomization
   -ImagePath <String>
   [-Resize <Int32>]
   [-ConvertTo <String>]
   [-Packages <String[]>]
   [-Commands <String[]>]
   [-Scripts <String[]>]
   [-OutputPath <String>]
   [<CommonParameters>]

Description

The Invoke-ProxmoxCloudImageCustomization cmdlet customizes a cloud image by resizing it, converting it to a different format, adding packages, or running commands or scripts.

Parameters

-ImagePath

The path to the cloud image file.

Type: String
Parameter Sets: (All)
Aliases:

Required: True
Position: 0
Default value: None
Accept pipeline input: True (ByValue)
Accept wildcard characters: False

-Resize

The new size of the image in GB.

Type: Int32
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-ConvertTo

The format to convert the image to (e.g., "qcow2", "raw").

Type: String
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-Packages

The packages to install in the image.

Type: String[]
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-Commands

The commands to run in the image.

Type: String[]
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-Scripts

The scripts to run in the image.

Type: String[]
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-OutputPath

The output path for the customized image. If not specified, the original image will be modified.

Type: String
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

CommonParameters

This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters.

Inputs

System.String

The path to the cloud image file.

Outputs

System.String

The path to the customized image.

Notes

  • This cmdlet requires the QEMU tools to be installed on the system.
  • The -Packages, -Commands, and -Scripts parameters are not fully implemented yet.
  • The cmdlet shows a progress bar during the customization process.

Examples

Example 1: Resize a cloud image to 20GB

Invoke-ProxmoxCloudImageCustomization -ImagePath "C:\Images\ubuntu-22.04-server-cloudimg-amd64.img" -Resize 20

This example resizes the specified cloud image to 20GB.

Example 2: Convert a cloud image to qcow2 format

Invoke-ProxmoxCloudImageCustomization -ImagePath "C:\Images\ubuntu-22.04-server-cloudimg-amd64.img" -ConvertTo "qcow2"

This example converts the specified cloud image to qcow2 format.

Example 3: Resize and convert a cloud image

Invoke-ProxmoxCloudImageCustomization -ImagePath "C:\Images\ubuntu-22.04-server-cloudimg-amd64.img" -Resize 20 -ConvertTo "qcow2" -OutputPath "C:\Images\ubuntu-22.04-server-cloudimg-amd64-custom.qcow2"

This example resizes the specified cloud image to 20GB, converts it to qcow2 format, and saves it to the specified output path.

Example 4: Customize a cloud image with packages and commands

Invoke-ProxmoxCloudImageCustomization -ImagePath "C:\Images\ubuntu-22.04-server-cloudimg-amd64.img" -Packages "nginx", "postgresql" -Commands "systemctl enable nginx", "systemctl enable postgresql"

This example installs the specified packages and runs the specified commands in the cloud image.