Package com.pulumi.azurenative.compute
Class Image
- java.lang.Object
-
- com.pulumi.resources.Resource
-
- com.pulumi.resources.CustomResource
-
- com.pulumi.azurenative.compute.Image
-
public class Image extends com.pulumi.resources.CustomResource
The source user image virtual hard disk. The virtual hard disk will be copied before being attached to the virtual machine. If SourceImage is provided, the destination virtual hard drive must not exist. Azure REST API version: 2023-03-01. Prior API version in Azure Native 1.x: 2020-12-01. Other available API versions: 2023-07-01, 2023-09-01. ## Example Usage ### Create a virtual machine image from a blob with DiskEncryptionSet resource. ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.azurenative.compute.Image; import com.pulumi.azurenative.compute.ImageArgs; import java.util.List; import java.util.ArrayList; import java.util.Map; import java.io.File; import java.nio.file.Files; import java.nio.file.Paths; public class App { public static void main(String[] args) { Pulumi.run(App::stack); } public static void stack(Context ctx) { var image = new Image("image", ImageArgs.builder() .imageName("myImage") .location("West US") .resourceGroupName("myResourceGroup") .storageProfile(Map.of("osDisk", Map.ofEntries( Map.entry("blobUri", "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd"), Map.entry("diskEncryptionSet", Map.of("id", "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}")), Map.entry("osState", "Generalized"), Map.entry("osType", "Linux") ))) .build()); } } ``` ### Create a virtual machine image from a blob. ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.azurenative.compute.Image; import com.pulumi.azurenative.compute.ImageArgs; import java.util.List; import java.util.ArrayList; import java.util.Map; import java.io.File; import java.nio.file.Files; import java.nio.file.Paths; public class App { public static void main(String[] args) { Pulumi.run(App::stack); } public static void stack(Context ctx) { var image = new Image("image", ImageArgs.builder() .imageName("myImage") .location("West US") .resourceGroupName("myResourceGroup") .storageProfile(Map.ofEntries( Map.entry("osDisk", Map.ofEntries( Map.entry("blobUri", "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd"), Map.entry("osState", "Generalized"), Map.entry("osType", "Linux") )), Map.entry("zoneResilient", true) )) .build()); } } ``` ### Create a virtual machine image from a managed disk with DiskEncryptionSet resource. ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.azurenative.compute.Image; import com.pulumi.azurenative.compute.ImageArgs; import java.util.List; import java.util.ArrayList; import java.util.Map; import java.io.File; import java.nio.file.Files; import java.nio.file.Paths; public class App { public static void main(String[] args) { Pulumi.run(App::stack); } public static void stack(Context ctx) { var image = new Image("image", ImageArgs.builder() .imageName("myImage") .location("West US") .resourceGroupName("myResourceGroup") .storageProfile(Map.of("osDisk", Map.ofEntries( Map.entry("diskEncryptionSet", Map.of("id", "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}")), Map.entry("osState", "Generalized"), Map.entry("osType", "Linux"), Map.entry("snapshot", Map.of("id", "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot")) ))) .build()); } } ``` ### Create a virtual machine image from a managed disk. ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.azurenative.compute.Image; import com.pulumi.azurenative.compute.ImageArgs; import java.util.List; import java.util.ArrayList; import java.util.Map; import java.io.File; import java.nio.file.Files; import java.nio.file.Paths; public class App { public static void main(String[] args) { Pulumi.run(App::stack); } public static void stack(Context ctx) { var image = new Image("image", ImageArgs.builder() .imageName("myImage") .location("West US") .resourceGroupName("myResourceGroup") .storageProfile(Map.ofEntries( Map.entry("osDisk", Map.ofEntries( Map.entry("managedDisk", Map.of("id", "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk")), Map.entry("osState", "Generalized"), Map.entry("osType", "Linux") )), Map.entry("zoneResilient", true) )) .build()); } } ``` ### Create a virtual machine image from a snapshot with DiskEncryptionSet resource. ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.azurenative.compute.Image; import com.pulumi.azurenative.compute.ImageArgs; import java.util.List; import java.util.ArrayList; import java.util.Map; import java.io.File; import java.nio.file.Files; import java.nio.file.Paths; public class App { public static void main(String[] args) { Pulumi.run(App::stack); } public static void stack(Context ctx) { var image = new Image("image", ImageArgs.builder() .imageName("myImage") .location("West US") .resourceGroupName("myResourceGroup") .storageProfile(Map.of("osDisk", Map.ofEntries( Map.entry("diskEncryptionSet", Map.of("id", "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}")), Map.entry("managedDisk", Map.of("id", "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk")), Map.entry("osState", "Generalized"), Map.entry("osType", "Linux") ))) .build()); } } ``` ### Create a virtual machine image from a snapshot. ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.azurenative.compute.Image; import com.pulumi.azurenative.compute.ImageArgs; import java.util.List; import java.util.ArrayList; import java.util.Map; import java.io.File; import java.nio.file.Files; import java.nio.file.Paths; public class App { public static void main(String[] args) { Pulumi.run(App::stack); } public static void stack(Context ctx) { var image = new Image("image", ImageArgs.builder() .imageName("myImage") .location("West US") .resourceGroupName("myResourceGroup") .storageProfile(Map.ofEntries( Map.entry("osDisk", Map.ofEntries( Map.entry("osState", "Generalized"), Map.entry("osType", "Linux"), Map.entry("snapshot", Map.of("id", "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot")) )), Map.entry("zoneResilient", false) )) .build()); } } ``` ### Create a virtual machine image from an existing virtual machine. ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.azurenative.compute.Image; import com.pulumi.azurenative.compute.ImageArgs; import java.util.List; import java.util.ArrayList; import java.util.Map; import java.io.File; import java.nio.file.Files; import java.nio.file.Paths; public class App { public static void main(String[] args) { Pulumi.run(App::stack); } public static void stack(Context ctx) { var image = new Image("image", ImageArgs.builder() .imageName("myImage") .location("West US") .resourceGroupName("myResourceGroup") .sourceVirtualMachine(Map.of("id", "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM")) .build()); } } ``` ### Create a virtual machine image that includes a data disk from a blob. ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.azurenative.compute.Image; import com.pulumi.azurenative.compute.ImageArgs; import java.util.List; import java.util.ArrayList; import java.util.Map; import java.io.File; import java.nio.file.Files; import java.nio.file.Paths; public class App { public static void main(String[] args) { Pulumi.run(App::stack); } public static void stack(Context ctx) { var image = new Image("image", ImageArgs.builder() .imageName("myImage") .location("West US") .resourceGroupName("myResourceGroup") .storageProfile(Map.ofEntries( Map.entry("dataDisks", Map.ofEntries( Map.entry("blobUri", "https://mystorageaccount.blob.core.windows.net/dataimages/dataimage.vhd"), Map.entry("lun", 1) )), Map.entry("osDisk", Map.ofEntries( Map.entry("blobUri", "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd"), Map.entry("osState", "Generalized"), Map.entry("osType", "Linux") )), Map.entry("zoneResilient", false) )) .build()); } } ``` ### Create a virtual machine image that includes a data disk from a managed disk. ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.azurenative.compute.Image; import com.pulumi.azurenative.compute.ImageArgs; import java.util.List; import java.util.ArrayList; import java.util.Map; import java.io.File; import java.nio.file.Files; import java.nio.file.Paths; public class App { public static void main(String[] args) { Pulumi.run(App::stack); } public static void stack(Context ctx) { var image = new Image("image", ImageArgs.builder() .imageName("myImage") .location("West US") .resourceGroupName("myResourceGroup") .storageProfile(Map.ofEntries( Map.entry("dataDisks", Map.ofEntries( Map.entry("lun", 1), Map.entry("managedDisk", Map.of("id", "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk2")) )), Map.entry("osDisk", Map.ofEntries( Map.entry("managedDisk", Map.of("id", "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk")), Map.entry("osState", "Generalized"), Map.entry("osType", "Linux") )), Map.entry("zoneResilient", false) )) .build()); } } ``` ### Create a virtual machine image that includes a data disk from a snapshot. ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.azurenative.compute.Image; import com.pulumi.azurenative.compute.ImageArgs; import java.util.List; import java.util.ArrayList; import java.util.Map; import java.io.File; import java.nio.file.Files; import java.nio.file.Paths; public class App { public static void main(String[] args) { Pulumi.run(App::stack); } public static void stack(Context ctx) { var image = new Image("image", ImageArgs.builder() .imageName("myImage") .location("West US") .resourceGroupName("myResourceGroup") .storageProfile(Map.ofEntries( Map.entry("dataDisks", Map.ofEntries( Map.entry("lun", 1), Map.entry("snapshot", Map.of("id", "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot2")) )), Map.entry("osDisk", Map.ofEntries( Map.entry("osState", "Generalized"), Map.entry("osType", "Linux"), Map.entry("snapshot", Map.of("id", "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot")) )), Map.entry("zoneResilient", true) )) .build()); } } ``` ## Import An existing resource can be imported using its type token, name, and identifier, e.g. ```sh $ pulumi import azure-native:compute:Image myImage /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/images/{imageName} ```
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description com.pulumi.core.Output<java.util.Optional<ExtendedLocationResponse>>
extendedLocation()
static Image
get(java.lang.String name, com.pulumi.core.Output<java.lang.String> id, com.pulumi.resources.CustomResourceOptions options)
Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.com.pulumi.core.Output<java.util.Optional<java.lang.String>>
hyperVGeneration()
com.pulumi.core.Output<java.lang.String>
location()
com.pulumi.core.Output<java.lang.String>
name()
com.pulumi.core.Output<java.lang.String>
provisioningState()
com.pulumi.core.Output<java.util.Optional<SubResourceResponse>>
sourceVirtualMachine()
com.pulumi.core.Output<java.util.Optional<ImageStorageProfileResponse>>
storageProfile()
com.pulumi.core.Output<java.util.Optional<java.util.Map<java.lang.String,java.lang.String>>>
tags()
com.pulumi.core.Output<java.lang.String>
type()
-
-
-
Constructor Detail
-
Image
public Image(java.lang.String name)
- Parameters:
name
- The _unique_ name of the resulting resource.
-
Image
public Image(java.lang.String name, ImageArgs args)
- Parameters:
name
- The _unique_ name of the resulting resource.args
- The arguments to use to populate this resource's properties.
-
Image
public Image(java.lang.String name, ImageArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options)
- Parameters:
name
- The _unique_ name of the resulting resource.args
- The arguments to use to populate this resource's properties.options
- A bag of options that control this resource's behavior.
-
-
Method Detail
-
extendedLocation
public com.pulumi.core.Output<java.util.Optional<ExtendedLocationResponse>> extendedLocation()
- Returns:
- The extended location of the Image.
-
hyperVGeneration
public com.pulumi.core.Output<java.util.Optional<java.lang.String>> hyperVGeneration()
- Returns:
- Specifies the HyperVGenerationType of the VirtualMachine created from the image. From API Version 2019-03-01 if the image source is a blob, then we need the user to specify the value, if the source is managed resource like disk or snapshot, we may require the user to specify the property if we cannot deduce it from the source managed resource.
-
location
public com.pulumi.core.Output<java.lang.String> location()
- Returns:
- Resource location
-
name
public com.pulumi.core.Output<java.lang.String> name()
- Returns:
- Resource name
-
provisioningState
public com.pulumi.core.Output<java.lang.String> provisioningState()
- Returns:
- The provisioning state.
-
sourceVirtualMachine
public com.pulumi.core.Output<java.util.Optional<SubResourceResponse>> sourceVirtualMachine()
- Returns:
- The source virtual machine from which Image is created.
-
storageProfile
public com.pulumi.core.Output<java.util.Optional<ImageStorageProfileResponse>> storageProfile()
- Returns:
- Specifies the storage settings for the virtual machine disks.
-
tags
public com.pulumi.core.Output<java.util.Optional<java.util.Map<java.lang.String,java.lang.String>>> tags()
- Returns:
- Resource tags
-
type
public com.pulumi.core.Output<java.lang.String> type()
- Returns:
- Resource type
-
get
public static Image get(java.lang.String name, com.pulumi.core.Output<java.lang.String> id, @Nullable com.pulumi.resources.CustomResourceOptions options)
Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.- Parameters:
name
- The _unique_ name of the resulting resource.id
- The _unique_ provider ID of the resource to lookup.options
- Optional settings to control the behavior of the CustomResource.
-
-