Machine Image Args
data class MachineImageArgs(val description: Output<String>? = null, val guestFlush: Output<Boolean>? = null, val machineImageEncryptionKey: Output<MachineImageMachineImageEncryptionKeyArgs>? = null, val name: Output<String>? = null, val project: Output<String>? = null, val sourceInstance: Output<String>? = null) : ConvertibleToJava<MachineImageArgs>
Represents a Machine Image resource. Machine images store all the configuration, metadata, permissions, and data from one or more disks required to create a Virtual machine (VM) instance. To get more information about MachineImage, see:
How-to Guides
Example Usage
Machine Image Basic
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.compute.Instance;
import com.pulumi.gcp.compute.InstanceArgs;
import com.pulumi.gcp.compute.inputs.InstanceBootDiskArgs;
import com.pulumi.gcp.compute.inputs.InstanceBootDiskInitializeParamsArgs;
import com.pulumi.gcp.compute.inputs.InstanceNetworkInterfaceArgs;
import com.pulumi.gcp.compute.MachineImage;
import com.pulumi.gcp.compute.MachineImageArgs;
import com.pulumi.resources.CustomResourceOptions;
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 vm = new Instance("vm", InstanceArgs.builder()
.machineType("e2-medium")
.bootDisk(InstanceBootDiskArgs.builder()
.initializeParams(InstanceBootDiskInitializeParamsArgs.builder()
.image("debian-cloud/debian-11")
.build())
.build())
.networkInterfaces(InstanceNetworkInterfaceArgs.builder()
.network("default")
.build())
.build(), CustomResourceOptions.builder()
.provider(google_beta)
.build());
var image = new MachineImage("image", MachineImageArgs.builder()
.sourceInstance(vm.selfLink())
.build(), CustomResourceOptions.builder()
.provider(google_beta)
.build());
}
}
Content copied to clipboard
Compute Machine Image Kms
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.compute.Instance;
import com.pulumi.gcp.compute.InstanceArgs;
import com.pulumi.gcp.compute.inputs.InstanceBootDiskArgs;
import com.pulumi.gcp.compute.inputs.InstanceBootDiskInitializeParamsArgs;
import com.pulumi.gcp.compute.inputs.InstanceNetworkInterfaceArgs;
import com.pulumi.gcp.kms.KeyRing;
import com.pulumi.gcp.kms.KeyRingArgs;
import com.pulumi.gcp.kms.CryptoKey;
import com.pulumi.gcp.kms.CryptoKeyArgs;
import com.pulumi.gcp.compute.MachineImage;
import com.pulumi.gcp.compute.MachineImageArgs;
import com.pulumi.gcp.compute.inputs.MachineImageMachineImageEncryptionKeyArgs;
import com.pulumi.resources.CustomResourceOptions;
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 vm = new Instance("vm", InstanceArgs.builder()
.machineType("e2-medium")
.bootDisk(InstanceBootDiskArgs.builder()
.initializeParams(InstanceBootDiskInitializeParamsArgs.builder()
.image("debian-cloud/debian-11")
.build())
.build())
.networkInterfaces(InstanceNetworkInterfaceArgs.builder()
.network("default")
.build())
.build(), CustomResourceOptions.builder()
.provider(google_beta)
.build());
var keyRing = new KeyRing("keyRing", KeyRingArgs.builder()
.location("us")
.build(), CustomResourceOptions.builder()
.provider(google_beta)
.build());
var cryptoKey = new CryptoKey("cryptoKey", CryptoKeyArgs.builder()
.keyRing(keyRing.id())
.build(), CustomResourceOptions.builder()
.provider(google_beta)
.build());
var image = new MachineImage("image", MachineImageArgs.builder()
.sourceInstance(vm.selfLink())
.machineImageEncryptionKey(MachineImageMachineImageEncryptionKeyArgs.builder()
.kmsKeyName(cryptoKey.id())
.build())
.build(), CustomResourceOptions.builder()
.provider(google_beta)
.build());
}
}
Content copied to clipboard
Import
MachineImage can be imported using any of these accepted formats
$ pulumi import gcp:compute/machineImage:MachineImage default projects/{{project}}/global/machineImages/{{name}}
Content copied to clipboard
$ pulumi import gcp:compute/machineImage:MachineImage default {{project}}/{{name}}
Content copied to clipboard
$ pulumi import gcp:compute/machineImage:MachineImage default {{name}}
Content copied to clipboard
Constructors
Link copied to clipboard
fun MachineImageArgs(description: Output<String>? = null, guestFlush: Output<Boolean>? = null, machineImageEncryptionKey: Output<MachineImageMachineImageEncryptionKeyArgs>? = null, name: Output<String>? = null, project: Output<String>? = null, sourceInstance: Output<String>? = null)