1. Packages
  2. Alibaba Cloud
  3. API Docs
  4. ecs
  5. Image
Alibaba Cloud v3.57.1 published on Wednesday, Jun 26, 2024 by Pulumi

alicloud.ecs.Image

Explore with Pulumi AI

alicloud logo
Alibaba Cloud v3.57.1 published on Wednesday, Jun 26, 2024 by Pulumi

    Creates a custom image. You can then use a custom image to create ECS instances (RunInstances) or change the system disk for an existing instance (ReplaceSystemDisk).

    NOTE: If you want to create a template from an ECS instance, you can specify the instance ID (InstanceId) to create a custom image. You must make sure that the status of the specified instance is Running or Stopped. After a successful invocation, each disk of the specified instance has a new snapshot created.

    NOTE: If you want to create a custom image based on the system disk of your ECS instance, you can specify one of the system disk snapshots (SnapshotId) to create a custom image. However, the specified snapshot cannot be created on or before July 15, 2013.

    NOTE: If you want to combine snapshots of multiple disks into an image template, you can specify DiskDeviceMapping to create a custom image.

    NOTE: Available since v1.64.0.

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as alicloud from "@pulumi/alicloud";
    import * as random from "@pulumi/random";
    
    const default = alicloud.getZones({
        availableResourceCreation: "Instance",
    });
    const defaultGetInstanceTypes = alicloud.ecs.getInstanceTypes({
        instanceTypeFamily: "ecs.sn1ne",
    });
    const defaultGetImages = alicloud.ecs.getImages({
        nameRegex: "^ubuntu_[0-9]+_[0-9]+_x64*",
        owners: "system",
    });
    const defaultNetwork = new alicloud.vpc.Network("default", {
        vpcName: "terraform-example",
        cidrBlock: "172.17.3.0/24",
    });
    const defaultSwitch = new alicloud.vpc.Switch("default", {
        vswitchName: "terraform-example",
        cidrBlock: "172.17.3.0/24",
        vpcId: defaultNetwork.id,
        zoneId: _default.then(_default => _default.zones?.[0]?.id),
    });
    const defaultSecurityGroup = new alicloud.ecs.SecurityGroup("default", {
        name: "terraform-example",
        vpcId: defaultNetwork.id,
    });
    const defaultInstance = new alicloud.ecs.Instance("default", {
        availabilityZone: _default.then(_default => _default.zones?.[0]?.id),
        instanceName: "terraform-example",
        securityGroups: [defaultSecurityGroup.id],
        vswitchId: defaultSwitch.id,
        instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes => defaultGetInstanceTypes.ids?.[0]),
        imageId: defaultGetImages.then(defaultGetImages => defaultGetImages.ids?.[0]),
        internetMaxBandwidthOut: 10,
    });
    const defaultGetResourceGroups = alicloud.resourcemanager.getResourceGroups({});
    const defaultInteger = new random.index.Integer("default", {
        min: 10000,
        max: 99999,
    });
    const defaultImage = new alicloud.ecs.Image("default", {
        instanceId: defaultInstance.id,
        imageName: `terraform-example-${defaultInteger.result}`,
        description: "terraform-example",
        architecture: "x86_64",
        resourceGroupId: defaultGetResourceGroups.then(defaultGetResourceGroups => defaultGetResourceGroups.ids?.[0]),
        tags: {
            FinanceDept: "FinanceDeptJoshua",
        },
    });
    
    import pulumi
    import pulumi_alicloud as alicloud
    import pulumi_random as random
    
    default = alicloud.get_zones(available_resource_creation="Instance")
    default_get_instance_types = alicloud.ecs.get_instance_types(instance_type_family="ecs.sn1ne")
    default_get_images = alicloud.ecs.get_images(name_regex="^ubuntu_[0-9]+_[0-9]+_x64*",
        owners="system")
    default_network = alicloud.vpc.Network("default",
        vpc_name="terraform-example",
        cidr_block="172.17.3.0/24")
    default_switch = alicloud.vpc.Switch("default",
        vswitch_name="terraform-example",
        cidr_block="172.17.3.0/24",
        vpc_id=default_network.id,
        zone_id=default.zones[0].id)
    default_security_group = alicloud.ecs.SecurityGroup("default",
        name="terraform-example",
        vpc_id=default_network.id)
    default_instance = alicloud.ecs.Instance("default",
        availability_zone=default.zones[0].id,
        instance_name="terraform-example",
        security_groups=[default_security_group.id],
        vswitch_id=default_switch.id,
        instance_type=default_get_instance_types.ids[0],
        image_id=default_get_images.ids[0],
        internet_max_bandwidth_out=10)
    default_get_resource_groups = alicloud.resourcemanager.get_resource_groups()
    default_integer = random.index.Integer("default",
        min=10000,
        max=99999)
    default_image = alicloud.ecs.Image("default",
        instance_id=default_instance.id,
        image_name=f"terraform-example-{default_integer['result']}",
        description="terraform-example",
        architecture="x86_64",
        resource_group_id=default_get_resource_groups.ids[0],
        tags={
            "FinanceDept": "FinanceDeptJoshua",
        })
    
    package main
    
    import (
    	"fmt"
    
    	"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud"
    	"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs"
    	"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager"
    	"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc"
    	"github.com/pulumi/pulumi-random/sdk/v4/go/random"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_default, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{
    			AvailableResourceCreation: pulumi.StringRef("Instance"),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		defaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, &ecs.GetInstanceTypesArgs{
    			InstanceTypeFamily: pulumi.StringRef("ecs.sn1ne"),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		defaultGetImages, err := ecs.GetImages(ctx, &ecs.GetImagesArgs{
    			NameRegex: pulumi.StringRef("^ubuntu_[0-9]+_[0-9]+_x64*"),
    			Owners:    pulumi.StringRef("system"),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		defaultNetwork, err := vpc.NewNetwork(ctx, "default", &vpc.NetworkArgs{
    			VpcName:   pulumi.String("terraform-example"),
    			CidrBlock: pulumi.String("172.17.3.0/24"),
    		})
    		if err != nil {
    			return err
    		}
    		defaultSwitch, err := vpc.NewSwitch(ctx, "default", &vpc.SwitchArgs{
    			VswitchName: pulumi.String("terraform-example"),
    			CidrBlock:   pulumi.String("172.17.3.0/24"),
    			VpcId:       defaultNetwork.ID(),
    			ZoneId:      pulumi.String(_default.Zones[0].Id),
    		})
    		if err != nil {
    			return err
    		}
    		defaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, "default", &ecs.SecurityGroupArgs{
    			Name:  pulumi.String("terraform-example"),
    			VpcId: defaultNetwork.ID(),
    		})
    		if err != nil {
    			return err
    		}
    		defaultInstance, err := ecs.NewInstance(ctx, "default", &ecs.InstanceArgs{
    			AvailabilityZone: pulumi.String(_default.Zones[0].Id),
    			InstanceName:     pulumi.String("terraform-example"),
    			SecurityGroups: pulumi.StringArray{
    				defaultSecurityGroup.ID(),
    			},
    			VswitchId:               defaultSwitch.ID(),
    			InstanceType:            pulumi.String(defaultGetInstanceTypes.Ids[0]),
    			ImageId:                 pulumi.String(defaultGetImages.Ids[0]),
    			InternetMaxBandwidthOut: pulumi.Int(10),
    		})
    		if err != nil {
    			return err
    		}
    		defaultGetResourceGroups, err := resourcemanager.GetResourceGroups(ctx, nil, nil)
    		if err != nil {
    			return err
    		}
    		defaultInteger, err := random.NewInteger(ctx, "default", &random.IntegerArgs{
    			Min: 10000,
    			Max: 99999,
    		})
    		if err != nil {
    			return err
    		}
    		_, err = ecs.NewImage(ctx, "default", &ecs.ImageArgs{
    			InstanceId:      defaultInstance.ID(),
    			ImageName:       pulumi.String(fmt.Sprintf("terraform-example-%v", defaultInteger.Result)),
    			Description:     pulumi.String("terraform-example"),
    			Architecture:    pulumi.String("x86_64"),
    			ResourceGroupId: pulumi.String(defaultGetResourceGroups.Ids[0]),
    			Tags: pulumi.Map{
    				"FinanceDept": pulumi.Any("FinanceDeptJoshua"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AliCloud = Pulumi.AliCloud;
    using Random = Pulumi.Random;
    
    return await Deployment.RunAsync(() => 
    {
        var @default = AliCloud.GetZones.Invoke(new()
        {
            AvailableResourceCreation = "Instance",
        });
    
        var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()
        {
            InstanceTypeFamily = "ecs.sn1ne",
        });
    
        var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()
        {
            NameRegex = "^ubuntu_[0-9]+_[0-9]+_x64*",
            Owners = "system",
        });
    
        var defaultNetwork = new AliCloud.Vpc.Network("default", new()
        {
            VpcName = "terraform-example",
            CidrBlock = "172.17.3.0/24",
        });
    
        var defaultSwitch = new AliCloud.Vpc.Switch("default", new()
        {
            VswitchName = "terraform-example",
            CidrBlock = "172.17.3.0/24",
            VpcId = defaultNetwork.Id,
            ZoneId = @default.Apply(@default => @default.Apply(getZonesResult => getZonesResult.Zones[0]?.Id)),
        });
    
        var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup("default", new()
        {
            Name = "terraform-example",
            VpcId = defaultNetwork.Id,
        });
    
        var defaultInstance = new AliCloud.Ecs.Instance("default", new()
        {
            AvailabilityZone = @default.Apply(@default => @default.Apply(getZonesResult => getZonesResult.Zones[0]?.Id)),
            InstanceName = "terraform-example",
            SecurityGroups = new[]
            {
                defaultSecurityGroup.Id,
            },
            VswitchId = defaultSwitch.Id,
            InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult => getInstanceTypesResult.Ids[0]),
            ImageId = defaultGetImages.Apply(getImagesResult => getImagesResult.Ids[0]),
            InternetMaxBandwidthOut = 10,
        });
    
        var defaultGetResourceGroups = AliCloud.ResourceManager.GetResourceGroups.Invoke();
    
        var defaultInteger = new Random.Index.Integer("default", new()
        {
            Min = 10000,
            Max = 99999,
        });
    
        var defaultImage = new AliCloud.Ecs.Image("default", new()
        {
            InstanceId = defaultInstance.Id,
            ImageName = $"terraform-example-{defaultInteger.Result}",
            Description = "terraform-example",
            Architecture = "x86_64",
            ResourceGroupId = defaultGetResourceGroups.Apply(getResourceGroupsResult => getResourceGroupsResult.Ids[0]),
            Tags = 
            {
                { "FinanceDept", "FinanceDeptJoshua" },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.alicloud.AlicloudFunctions;
    import com.pulumi.alicloud.inputs.GetZonesArgs;
    import com.pulumi.alicloud.ecs.EcsFunctions;
    import com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;
    import com.pulumi.alicloud.ecs.inputs.GetImagesArgs;
    import com.pulumi.alicloud.vpc.Network;
    import com.pulumi.alicloud.vpc.NetworkArgs;
    import com.pulumi.alicloud.vpc.Switch;
    import com.pulumi.alicloud.vpc.SwitchArgs;
    import com.pulumi.alicloud.ecs.SecurityGroup;
    import com.pulumi.alicloud.ecs.SecurityGroupArgs;
    import com.pulumi.alicloud.ecs.Instance;
    import com.pulumi.alicloud.ecs.InstanceArgs;
    import com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;
    import com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;
    import com.pulumi.random.integer;
    import com.pulumi.random.IntegerArgs;
    import com.pulumi.alicloud.ecs.Image;
    import com.pulumi.alicloud.ecs.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) {
            final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()
                .availableResourceCreation("Instance")
                .build());
    
            final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()
                .instanceTypeFamily("ecs.sn1ne")
                .build());
    
            final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()
                .nameRegex("^ubuntu_[0-9]+_[0-9]+_x64*")
                .owners("system")
                .build());
    
            var defaultNetwork = new Network("defaultNetwork", NetworkArgs.builder()
                .vpcName("terraform-example")
                .cidrBlock("172.17.3.0/24")
                .build());
    
            var defaultSwitch = new Switch("defaultSwitch", SwitchArgs.builder()
                .vswitchName("terraform-example")
                .cidrBlock("172.17.3.0/24")
                .vpcId(defaultNetwork.id())
                .zoneId(default_.zones()[0].id())
                .build());
    
            var defaultSecurityGroup = new SecurityGroup("defaultSecurityGroup", SecurityGroupArgs.builder()
                .name("terraform-example")
                .vpcId(defaultNetwork.id())
                .build());
    
            var defaultInstance = new Instance("defaultInstance", InstanceArgs.builder()
                .availabilityZone(default_.zones()[0].id())
                .instanceName("terraform-example")
                .securityGroups(defaultSecurityGroup.id())
                .vswitchId(defaultSwitch.id())
                .instanceType(defaultGetInstanceTypes.applyValue(getInstanceTypesResult -> getInstanceTypesResult.ids()[0]))
                .imageId(defaultGetImages.applyValue(getImagesResult -> getImagesResult.ids()[0]))
                .internetMaxBandwidthOut(10)
                .build());
    
            final var defaultGetResourceGroups = ResourcemanagerFunctions.getResourceGroups();
    
            var defaultInteger = new Integer("defaultInteger", IntegerArgs.builder()
                .min(10000)
                .max(99999)
                .build());
    
            var defaultImage = new Image("defaultImage", ImageArgs.builder()
                .instanceId(defaultInstance.id())
                .imageName(String.format("terraform-example-%s", defaultInteger.result()))
                .description("terraform-example")
                .architecture("x86_64")
                .resourceGroupId(defaultGetResourceGroups.applyValue(getResourceGroupsResult -> getResourceGroupsResult.ids()[0]))
                .tags(Map.of("FinanceDept", "FinanceDeptJoshua"))
                .build());
    
        }
    }
    
    resources:
      defaultNetwork:
        type: alicloud:vpc:Network
        name: default
        properties:
          vpcName: terraform-example
          cidrBlock: 172.17.3.0/24
      defaultSwitch:
        type: alicloud:vpc:Switch
        name: default
        properties:
          vswitchName: terraform-example
          cidrBlock: 172.17.3.0/24
          vpcId: ${defaultNetwork.id}
          zoneId: ${default.zones[0].id}
      defaultSecurityGroup:
        type: alicloud:ecs:SecurityGroup
        name: default
        properties:
          name: terraform-example
          vpcId: ${defaultNetwork.id}
      defaultInstance:
        type: alicloud:ecs:Instance
        name: default
        properties:
          availabilityZone: ${default.zones[0].id}
          instanceName: terraform-example
          securityGroups:
            - ${defaultSecurityGroup.id}
          vswitchId: ${defaultSwitch.id}
          instanceType: ${defaultGetInstanceTypes.ids[0]}
          imageId: ${defaultGetImages.ids[0]}
          internetMaxBandwidthOut: 10
      defaultInteger:
        type: random:integer
        name: default
        properties:
          min: 10000
          max: 99999
      defaultImage:
        type: alicloud:ecs:Image
        name: default
        properties:
          instanceId: ${defaultInstance.id}
          imageName: terraform-example-${defaultInteger.result}
          description: terraform-example
          architecture: x86_64
          resourceGroupId: ${defaultGetResourceGroups.ids[0]}
          tags:
            FinanceDept: FinanceDeptJoshua
    variables:
      default:
        fn::invoke:
          Function: alicloud:getZones
          Arguments:
            availableResourceCreation: Instance
      defaultGetInstanceTypes:
        fn::invoke:
          Function: alicloud:ecs:getInstanceTypes
          Arguments:
            instanceTypeFamily: ecs.sn1ne
      defaultGetImages:
        fn::invoke:
          Function: alicloud:ecs:getImages
          Arguments:
            nameRegex: ^ubuntu_[0-9]+_[0-9]+_x64*
            owners: system
      defaultGetResourceGroups:
        fn::invoke:
          Function: alicloud:resourcemanager:getResourceGroups
          Arguments: {}
    

    Create Image Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new Image(name: string, args?: ImageArgs, opts?: CustomResourceOptions);
    @overload
    def Image(resource_name: str,
              args: Optional[ImageArgs] = None,
              opts: Optional[ResourceOptions] = None)
    
    @overload
    def Image(resource_name: str,
              opts: Optional[ResourceOptions] = None,
              architecture: Optional[str] = None,
              delete_auto_snapshot: Optional[bool] = None,
              description: Optional[str] = None,
              disk_device_mappings: Optional[Sequence[ImageDiskDeviceMappingArgs]] = None,
              force: Optional[bool] = None,
              image_name: Optional[str] = None,
              instance_id: Optional[str] = None,
              name: Optional[str] = None,
              platform: Optional[str] = None,
              resource_group_id: Optional[str] = None,
              snapshot_id: Optional[str] = None,
              tags: Optional[Mapping[str, Any]] = None)
    func NewImage(ctx *Context, name string, args *ImageArgs, opts ...ResourceOption) (*Image, error)
    public Image(string name, ImageArgs? args = null, CustomResourceOptions? opts = null)
    public Image(String name, ImageArgs args)
    public Image(String name, ImageArgs args, CustomResourceOptions options)
    
    type: alicloud:ecs:Image
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args ImageArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args ImageArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args ImageArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args ImageArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args ImageArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

    The following reference example uses placeholder values for all input properties.

    var imageResource = new AliCloud.Ecs.Image("imageResource", new()
    {
        Architecture = "string",
        DeleteAutoSnapshot = false,
        Description = "string",
        DiskDeviceMappings = new[]
        {
            new AliCloud.Ecs.Inputs.ImageDiskDeviceMappingArgs
            {
                Device = "string",
                DiskType = "string",
                Size = 0,
                SnapshotId = "string",
            },
        },
        Force = false,
        ImageName = "string",
        InstanceId = "string",
        Platform = "string",
        ResourceGroupId = "string",
        SnapshotId = "string",
        Tags = 
        {
            { "string", "any" },
        },
    });
    
    example, err := ecs.NewImage(ctx, "imageResource", &ecs.ImageArgs{
    	Architecture:       pulumi.String("string"),
    	DeleteAutoSnapshot: pulumi.Bool(false),
    	Description:        pulumi.String("string"),
    	DiskDeviceMappings: ecs.ImageDiskDeviceMappingArray{
    		&ecs.ImageDiskDeviceMappingArgs{
    			Device:     pulumi.String("string"),
    			DiskType:   pulumi.String("string"),
    			Size:       pulumi.Int(0),
    			SnapshotId: pulumi.String("string"),
    		},
    	},
    	Force:           pulumi.Bool(false),
    	ImageName:       pulumi.String("string"),
    	InstanceId:      pulumi.String("string"),
    	Platform:        pulumi.String("string"),
    	ResourceGroupId: pulumi.String("string"),
    	SnapshotId:      pulumi.String("string"),
    	Tags: pulumi.Map{
    		"string": pulumi.Any("any"),
    	},
    })
    
    var imageResource = new Image("imageResource", ImageArgs.builder()
        .architecture("string")
        .deleteAutoSnapshot(false)
        .description("string")
        .diskDeviceMappings(ImageDiskDeviceMappingArgs.builder()
            .device("string")
            .diskType("string")
            .size(0)
            .snapshotId("string")
            .build())
        .force(false)
        .imageName("string")
        .instanceId("string")
        .platform("string")
        .resourceGroupId("string")
        .snapshotId("string")
        .tags(Map.of("string", "any"))
        .build());
    
    image_resource = alicloud.ecs.Image("imageResource",
        architecture="string",
        delete_auto_snapshot=False,
        description="string",
        disk_device_mappings=[alicloud.ecs.ImageDiskDeviceMappingArgs(
            device="string",
            disk_type="string",
            size=0,
            snapshot_id="string",
        )],
        force=False,
        image_name="string",
        instance_id="string",
        platform="string",
        resource_group_id="string",
        snapshot_id="string",
        tags={
            "string": "any",
        })
    
    const imageResource = new alicloud.ecs.Image("imageResource", {
        architecture: "string",
        deleteAutoSnapshot: false,
        description: "string",
        diskDeviceMappings: [{
            device: "string",
            diskType: "string",
            size: 0,
            snapshotId: "string",
        }],
        force: false,
        imageName: "string",
        instanceId: "string",
        platform: "string",
        resourceGroupId: "string",
        snapshotId: "string",
        tags: {
            string: "any",
        },
    });
    
    type: alicloud:ecs:Image
    properties:
        architecture: string
        deleteAutoSnapshot: false
        description: string
        diskDeviceMappings:
            - device: string
              diskType: string
              size: 0
              snapshotId: string
        force: false
        imageName: string
        instanceId: string
        platform: string
        resourceGroupId: string
        snapshotId: string
        tags:
            string: any
    

    Image Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    The Image resource accepts the following input properties:

    Architecture string
    Specifies the architecture of the system disk after you specify a data disk snapshot as the data source of the system disk for creating an image. Valid values: i386 , Default is x86_64.
    DeleteAutoSnapshot bool
    Description string
    The description of the image. It must be 2 to 256 characters in length and must not start with http:// or https://. Default value: null.
    DiskDeviceMappings List<Pulumi.AliCloud.Ecs.Inputs.ImageDiskDeviceMapping>
    Description of the system with disks and snapshots under the image.
    Force bool
    Indicates whether to force delete the custom image, Default is false.

    • true:Force deletes the custom image, regardless of whether the image is currently being used by other instances.
    • false:Verifies that the image is not currently in use by any other instances before deleting the image.
    ImageName string
    The image name. It must be 2 to 128 characters in length, and must begin with a letter or Chinese character (beginning with http:// or https:// is not allowed). It can contain digits, colons (:), underscores (_), or hyphens (-). Default value: null.
    InstanceId string
    The instance ID.
    Name string

    Deprecated: Attribute 'name' has been deprecated from version 1.69.0. Use image_name instead.

    Platform string
    The distribution of the operating system for the system disk in the custom image. If you specify a data disk snapshot to create the system disk of the custom image, you must use the Platform parameter to specify the distribution of the operating system for the system disk. Default value: Others Linux. More valid values refer to CreateImage OpenAPI NOTE: It's default value is Ubuntu before version 1.197.0.
    ResourceGroupId string
    The ID of the enterprise resource group to which a custom image belongs
    SnapshotId string
    Specifies a snapshot that is used to create a custom image.
    Tags Dictionary<string, object>
    The tag value of an image. The value of N ranges from 1 to 20.
    Architecture string
    Specifies the architecture of the system disk after you specify a data disk snapshot as the data source of the system disk for creating an image. Valid values: i386 , Default is x86_64.
    DeleteAutoSnapshot bool
    Description string
    The description of the image. It must be 2 to 256 characters in length and must not start with http:// or https://. Default value: null.
    DiskDeviceMappings []ImageDiskDeviceMappingArgs
    Description of the system with disks and snapshots under the image.
    Force bool
    Indicates whether to force delete the custom image, Default is false.

    • true:Force deletes the custom image, regardless of whether the image is currently being used by other instances.
    • false:Verifies that the image is not currently in use by any other instances before deleting the image.
    ImageName string
    The image name. It must be 2 to 128 characters in length, and must begin with a letter or Chinese character (beginning with http:// or https:// is not allowed). It can contain digits, colons (:), underscores (_), or hyphens (-). Default value: null.
    InstanceId string
    The instance ID.
    Name string

    Deprecated: Attribute 'name' has been deprecated from version 1.69.0. Use image_name instead.

    Platform string
    The distribution of the operating system for the system disk in the custom image. If you specify a data disk snapshot to create the system disk of the custom image, you must use the Platform parameter to specify the distribution of the operating system for the system disk. Default value: Others Linux. More valid values refer to CreateImage OpenAPI NOTE: It's default value is Ubuntu before version 1.197.0.
    ResourceGroupId string
    The ID of the enterprise resource group to which a custom image belongs
    SnapshotId string
    Specifies a snapshot that is used to create a custom image.
    Tags map[string]interface{}
    The tag value of an image. The value of N ranges from 1 to 20.
    architecture String
    Specifies the architecture of the system disk after you specify a data disk snapshot as the data source of the system disk for creating an image. Valid values: i386 , Default is x86_64.
    deleteAutoSnapshot Boolean
    description String
    The description of the image. It must be 2 to 256 characters in length and must not start with http:// or https://. Default value: null.
    diskDeviceMappings List<ImageDiskDeviceMapping>
    Description of the system with disks and snapshots under the image.
    force Boolean
    Indicates whether to force delete the custom image, Default is false.

    • true:Force deletes the custom image, regardless of whether the image is currently being used by other instances.
    • false:Verifies that the image is not currently in use by any other instances before deleting the image.
    imageName String
    The image name. It must be 2 to 128 characters in length, and must begin with a letter or Chinese character (beginning with http:// or https:// is not allowed). It can contain digits, colons (:), underscores (_), or hyphens (-). Default value: null.
    instanceId String
    The instance ID.
    name String

    Deprecated: Attribute 'name' has been deprecated from version 1.69.0. Use image_name instead.

    platform String
    The distribution of the operating system for the system disk in the custom image. If you specify a data disk snapshot to create the system disk of the custom image, you must use the Platform parameter to specify the distribution of the operating system for the system disk. Default value: Others Linux. More valid values refer to CreateImage OpenAPI NOTE: It's default value is Ubuntu before version 1.197.0.
    resourceGroupId String
    The ID of the enterprise resource group to which a custom image belongs
    snapshotId String
    Specifies a snapshot that is used to create a custom image.
    tags Map<String,Object>
    The tag value of an image. The value of N ranges from 1 to 20.
    architecture string
    Specifies the architecture of the system disk after you specify a data disk snapshot as the data source of the system disk for creating an image. Valid values: i386 , Default is x86_64.
    deleteAutoSnapshot boolean
    description string
    The description of the image. It must be 2 to 256 characters in length and must not start with http:// or https://. Default value: null.
    diskDeviceMappings ImageDiskDeviceMapping[]
    Description of the system with disks and snapshots under the image.
    force boolean
    Indicates whether to force delete the custom image, Default is false.

    • true:Force deletes the custom image, regardless of whether the image is currently being used by other instances.
    • false:Verifies that the image is not currently in use by any other instances before deleting the image.
    imageName string
    The image name. It must be 2 to 128 characters in length, and must begin with a letter or Chinese character (beginning with http:// or https:// is not allowed). It can contain digits, colons (:), underscores (_), or hyphens (-). Default value: null.
    instanceId string
    The instance ID.
    name string

    Deprecated: Attribute 'name' has been deprecated from version 1.69.0. Use image_name instead.

    platform string
    The distribution of the operating system for the system disk in the custom image. If you specify a data disk snapshot to create the system disk of the custom image, you must use the Platform parameter to specify the distribution of the operating system for the system disk. Default value: Others Linux. More valid values refer to CreateImage OpenAPI NOTE: It's default value is Ubuntu before version 1.197.0.
    resourceGroupId string
    The ID of the enterprise resource group to which a custom image belongs
    snapshotId string
    Specifies a snapshot that is used to create a custom image.
    tags {[key: string]: any}
    The tag value of an image. The value of N ranges from 1 to 20.
    architecture str
    Specifies the architecture of the system disk after you specify a data disk snapshot as the data source of the system disk for creating an image. Valid values: i386 , Default is x86_64.
    delete_auto_snapshot bool
    description str
    The description of the image. It must be 2 to 256 characters in length and must not start with http:// or https://. Default value: null.
    disk_device_mappings Sequence[ImageDiskDeviceMappingArgs]
    Description of the system with disks and snapshots under the image.
    force bool
    Indicates whether to force delete the custom image, Default is false.

    • true:Force deletes the custom image, regardless of whether the image is currently being used by other instances.
    • false:Verifies that the image is not currently in use by any other instances before deleting the image.
    image_name str
    The image name. It must be 2 to 128 characters in length, and must begin with a letter or Chinese character (beginning with http:// or https:// is not allowed). It can contain digits, colons (:), underscores (_), or hyphens (-). Default value: null.
    instance_id str
    The instance ID.
    name str

    Deprecated: Attribute 'name' has been deprecated from version 1.69.0. Use image_name instead.

    platform str
    The distribution of the operating system for the system disk in the custom image. If you specify a data disk snapshot to create the system disk of the custom image, you must use the Platform parameter to specify the distribution of the operating system for the system disk. Default value: Others Linux. More valid values refer to CreateImage OpenAPI NOTE: It's default value is Ubuntu before version 1.197.0.
    resource_group_id str
    The ID of the enterprise resource group to which a custom image belongs
    snapshot_id str
    Specifies a snapshot that is used to create a custom image.
    tags Mapping[str, Any]
    The tag value of an image. The value of N ranges from 1 to 20.
    architecture String
    Specifies the architecture of the system disk after you specify a data disk snapshot as the data source of the system disk for creating an image. Valid values: i386 , Default is x86_64.
    deleteAutoSnapshot Boolean
    description String
    The description of the image. It must be 2 to 256 characters in length and must not start with http:// or https://. Default value: null.
    diskDeviceMappings List<Property Map>
    Description of the system with disks and snapshots under the image.
    force Boolean
    Indicates whether to force delete the custom image, Default is false.

    • true:Force deletes the custom image, regardless of whether the image is currently being used by other instances.
    • false:Verifies that the image is not currently in use by any other instances before deleting the image.
    imageName String
    The image name. It must be 2 to 128 characters in length, and must begin with a letter or Chinese character (beginning with http:// or https:// is not allowed). It can contain digits, colons (:), underscores (_), or hyphens (-). Default value: null.
    instanceId String
    The instance ID.
    name String

    Deprecated: Attribute 'name' has been deprecated from version 1.69.0. Use image_name instead.

    platform String
    The distribution of the operating system for the system disk in the custom image. If you specify a data disk snapshot to create the system disk of the custom image, you must use the Platform parameter to specify the distribution of the operating system for the system disk. Default value: Others Linux. More valid values refer to CreateImage OpenAPI NOTE: It's default value is Ubuntu before version 1.197.0.
    resourceGroupId String
    The ID of the enterprise resource group to which a custom image belongs
    snapshotId String
    Specifies a snapshot that is used to create a custom image.
    tags Map<Any>
    The tag value of an image. The value of N ranges from 1 to 20.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the Image resource produces the following output properties:

    Id string
    The provider-assigned unique ID for this managed resource.
    Id string
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.
    id string
    The provider-assigned unique ID for this managed resource.
    id str
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.

    Look up Existing Image Resource

    Get an existing Image resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: ImageState, opts?: CustomResourceOptions): Image
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            architecture: Optional[str] = None,
            delete_auto_snapshot: Optional[bool] = None,
            description: Optional[str] = None,
            disk_device_mappings: Optional[Sequence[ImageDiskDeviceMappingArgs]] = None,
            force: Optional[bool] = None,
            image_name: Optional[str] = None,
            instance_id: Optional[str] = None,
            name: Optional[str] = None,
            platform: Optional[str] = None,
            resource_group_id: Optional[str] = None,
            snapshot_id: Optional[str] = None,
            tags: Optional[Mapping[str, Any]] = None) -> Image
    func GetImage(ctx *Context, name string, id IDInput, state *ImageState, opts ...ResourceOption) (*Image, error)
    public static Image Get(string name, Input<string> id, ImageState? state, CustomResourceOptions? opts = null)
    public static Image get(String name, Output<String> id, ImageState state, CustomResourceOptions options)
    Resource lookup is not supported in YAML
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    Architecture string
    Specifies the architecture of the system disk after you specify a data disk snapshot as the data source of the system disk for creating an image. Valid values: i386 , Default is x86_64.
    DeleteAutoSnapshot bool
    Description string
    The description of the image. It must be 2 to 256 characters in length and must not start with http:// or https://. Default value: null.
    DiskDeviceMappings List<Pulumi.AliCloud.Ecs.Inputs.ImageDiskDeviceMapping>
    Description of the system with disks and snapshots under the image.
    Force bool
    Indicates whether to force delete the custom image, Default is false.

    • true:Force deletes the custom image, regardless of whether the image is currently being used by other instances.
    • false:Verifies that the image is not currently in use by any other instances before deleting the image.
    ImageName string
    The image name. It must be 2 to 128 characters in length, and must begin with a letter or Chinese character (beginning with http:// or https:// is not allowed). It can contain digits, colons (:), underscores (_), or hyphens (-). Default value: null.
    InstanceId string
    The instance ID.
    Name string

    Deprecated: Attribute 'name' has been deprecated from version 1.69.0. Use image_name instead.

    Platform string
    The distribution of the operating system for the system disk in the custom image. If you specify a data disk snapshot to create the system disk of the custom image, you must use the Platform parameter to specify the distribution of the operating system for the system disk. Default value: Others Linux. More valid values refer to CreateImage OpenAPI NOTE: It's default value is Ubuntu before version 1.197.0.
    ResourceGroupId string
    The ID of the enterprise resource group to which a custom image belongs
    SnapshotId string
    Specifies a snapshot that is used to create a custom image.
    Tags Dictionary<string, object>
    The tag value of an image. The value of N ranges from 1 to 20.
    Architecture string
    Specifies the architecture of the system disk after you specify a data disk snapshot as the data source of the system disk for creating an image. Valid values: i386 , Default is x86_64.
    DeleteAutoSnapshot bool
    Description string
    The description of the image. It must be 2 to 256 characters in length and must not start with http:// or https://. Default value: null.
    DiskDeviceMappings []ImageDiskDeviceMappingArgs
    Description of the system with disks and snapshots under the image.
    Force bool
    Indicates whether to force delete the custom image, Default is false.

    • true:Force deletes the custom image, regardless of whether the image is currently being used by other instances.
    • false:Verifies that the image is not currently in use by any other instances before deleting the image.
    ImageName string
    The image name. It must be 2 to 128 characters in length, and must begin with a letter or Chinese character (beginning with http:// or https:// is not allowed). It can contain digits, colons (:), underscores (_), or hyphens (-). Default value: null.
    InstanceId string
    The instance ID.
    Name string

    Deprecated: Attribute 'name' has been deprecated from version 1.69.0. Use image_name instead.

    Platform string
    The distribution of the operating system for the system disk in the custom image. If you specify a data disk snapshot to create the system disk of the custom image, you must use the Platform parameter to specify the distribution of the operating system for the system disk. Default value: Others Linux. More valid values refer to CreateImage OpenAPI NOTE: It's default value is Ubuntu before version 1.197.0.
    ResourceGroupId string
    The ID of the enterprise resource group to which a custom image belongs
    SnapshotId string
    Specifies a snapshot that is used to create a custom image.
    Tags map[string]interface{}
    The tag value of an image. The value of N ranges from 1 to 20.
    architecture String
    Specifies the architecture of the system disk after you specify a data disk snapshot as the data source of the system disk for creating an image. Valid values: i386 , Default is x86_64.
    deleteAutoSnapshot Boolean
    description String
    The description of the image. It must be 2 to 256 characters in length and must not start with http:// or https://. Default value: null.
    diskDeviceMappings List<ImageDiskDeviceMapping>
    Description of the system with disks and snapshots under the image.
    force Boolean
    Indicates whether to force delete the custom image, Default is false.

    • true:Force deletes the custom image, regardless of whether the image is currently being used by other instances.
    • false:Verifies that the image is not currently in use by any other instances before deleting the image.
    imageName String
    The image name. It must be 2 to 128 characters in length, and must begin with a letter or Chinese character (beginning with http:// or https:// is not allowed). It can contain digits, colons (:), underscores (_), or hyphens (-). Default value: null.
    instanceId String
    The instance ID.
    name String

    Deprecated: Attribute 'name' has been deprecated from version 1.69.0. Use image_name instead.

    platform String
    The distribution of the operating system for the system disk in the custom image. If you specify a data disk snapshot to create the system disk of the custom image, you must use the Platform parameter to specify the distribution of the operating system for the system disk. Default value: Others Linux. More valid values refer to CreateImage OpenAPI NOTE: It's default value is Ubuntu before version 1.197.0.
    resourceGroupId String
    The ID of the enterprise resource group to which a custom image belongs
    snapshotId String
    Specifies a snapshot that is used to create a custom image.
    tags Map<String,Object>
    The tag value of an image. The value of N ranges from 1 to 20.
    architecture string
    Specifies the architecture of the system disk after you specify a data disk snapshot as the data source of the system disk for creating an image. Valid values: i386 , Default is x86_64.
    deleteAutoSnapshot boolean
    description string
    The description of the image. It must be 2 to 256 characters in length and must not start with http:// or https://. Default value: null.
    diskDeviceMappings ImageDiskDeviceMapping[]
    Description of the system with disks and snapshots under the image.
    force boolean
    Indicates whether to force delete the custom image, Default is false.

    • true:Force deletes the custom image, regardless of whether the image is currently being used by other instances.
    • false:Verifies that the image is not currently in use by any other instances before deleting the image.
    imageName string
    The image name. It must be 2 to 128 characters in length, and must begin with a letter or Chinese character (beginning with http:// or https:// is not allowed). It can contain digits, colons (:), underscores (_), or hyphens (-). Default value: null.
    instanceId string
    The instance ID.
    name string

    Deprecated: Attribute 'name' has been deprecated from version 1.69.0. Use image_name instead.

    platform string
    The distribution of the operating system for the system disk in the custom image. If you specify a data disk snapshot to create the system disk of the custom image, you must use the Platform parameter to specify the distribution of the operating system for the system disk. Default value: Others Linux. More valid values refer to CreateImage OpenAPI NOTE: It's default value is Ubuntu before version 1.197.0.
    resourceGroupId string
    The ID of the enterprise resource group to which a custom image belongs
    snapshotId string
    Specifies a snapshot that is used to create a custom image.
    tags {[key: string]: any}
    The tag value of an image. The value of N ranges from 1 to 20.
    architecture str
    Specifies the architecture of the system disk after you specify a data disk snapshot as the data source of the system disk for creating an image. Valid values: i386 , Default is x86_64.
    delete_auto_snapshot bool
    description str
    The description of the image. It must be 2 to 256 characters in length and must not start with http:// or https://. Default value: null.
    disk_device_mappings Sequence[ImageDiskDeviceMappingArgs]
    Description of the system with disks and snapshots under the image.
    force bool
    Indicates whether to force delete the custom image, Default is false.

    • true:Force deletes the custom image, regardless of whether the image is currently being used by other instances.
    • false:Verifies that the image is not currently in use by any other instances before deleting the image.
    image_name str
    The image name. It must be 2 to 128 characters in length, and must begin with a letter or Chinese character (beginning with http:// or https:// is not allowed). It can contain digits, colons (:), underscores (_), or hyphens (-). Default value: null.
    instance_id str
    The instance ID.
    name str

    Deprecated: Attribute 'name' has been deprecated from version 1.69.0. Use image_name instead.

    platform str
    The distribution of the operating system for the system disk in the custom image. If you specify a data disk snapshot to create the system disk of the custom image, you must use the Platform parameter to specify the distribution of the operating system for the system disk. Default value: Others Linux. More valid values refer to CreateImage OpenAPI NOTE: It's default value is Ubuntu before version 1.197.0.
    resource_group_id str
    The ID of the enterprise resource group to which a custom image belongs
    snapshot_id str
    Specifies a snapshot that is used to create a custom image.
    tags Mapping[str, Any]
    The tag value of an image. The value of N ranges from 1 to 20.
    architecture String
    Specifies the architecture of the system disk after you specify a data disk snapshot as the data source of the system disk for creating an image. Valid values: i386 , Default is x86_64.
    deleteAutoSnapshot Boolean
    description String
    The description of the image. It must be 2 to 256 characters in length and must not start with http:// or https://. Default value: null.
    diskDeviceMappings List<Property Map>
    Description of the system with disks and snapshots under the image.
    force Boolean
    Indicates whether to force delete the custom image, Default is false.

    • true:Force deletes the custom image, regardless of whether the image is currently being used by other instances.
    • false:Verifies that the image is not currently in use by any other instances before deleting the image.
    imageName String
    The image name. It must be 2 to 128 characters in length, and must begin with a letter or Chinese character (beginning with http:// or https:// is not allowed). It can contain digits, colons (:), underscores (_), or hyphens (-). Default value: null.
    instanceId String
    The instance ID.
    name String

    Deprecated: Attribute 'name' has been deprecated from version 1.69.0. Use image_name instead.

    platform String
    The distribution of the operating system for the system disk in the custom image. If you specify a data disk snapshot to create the system disk of the custom image, you must use the Platform parameter to specify the distribution of the operating system for the system disk. Default value: Others Linux. More valid values refer to CreateImage OpenAPI NOTE: It's default value is Ubuntu before version 1.197.0.
    resourceGroupId String
    The ID of the enterprise resource group to which a custom image belongs
    snapshotId String
    Specifies a snapshot that is used to create a custom image.
    tags Map<Any>
    The tag value of an image. The value of N ranges from 1 to 20.

    Supporting Types

    ImageDiskDeviceMapping, ImageDiskDeviceMappingArgs

    Device string
    Specifies the name of a disk in the combined custom image. Value range: /dev/xvda to /dev/xvdz.
    DiskType string
    Specifies the type of a disk in the combined custom image. If you specify this parameter, you can use a data disk snapshot as the data source of a system disk for creating an image. If it is not specified, the disk type is determined by the corresponding snapshot. Valid values: system, data,
    Size int
    Specifies the size of a disk in the combined custom image, in GiB. Value range: 5 to 2000.
    SnapshotId string
    Specifies a snapshot that is used to create a combined custom image.
    Device string
    Specifies the name of a disk in the combined custom image. Value range: /dev/xvda to /dev/xvdz.
    DiskType string
    Specifies the type of a disk in the combined custom image. If you specify this parameter, you can use a data disk snapshot as the data source of a system disk for creating an image. If it is not specified, the disk type is determined by the corresponding snapshot. Valid values: system, data,
    Size int
    Specifies the size of a disk in the combined custom image, in GiB. Value range: 5 to 2000.
    SnapshotId string
    Specifies a snapshot that is used to create a combined custom image.
    device String
    Specifies the name of a disk in the combined custom image. Value range: /dev/xvda to /dev/xvdz.
    diskType String
    Specifies the type of a disk in the combined custom image. If you specify this parameter, you can use a data disk snapshot as the data source of a system disk for creating an image. If it is not specified, the disk type is determined by the corresponding snapshot. Valid values: system, data,
    size Integer
    Specifies the size of a disk in the combined custom image, in GiB. Value range: 5 to 2000.
    snapshotId String
    Specifies a snapshot that is used to create a combined custom image.
    device string
    Specifies the name of a disk in the combined custom image. Value range: /dev/xvda to /dev/xvdz.
    diskType string
    Specifies the type of a disk in the combined custom image. If you specify this parameter, you can use a data disk snapshot as the data source of a system disk for creating an image. If it is not specified, the disk type is determined by the corresponding snapshot. Valid values: system, data,
    size number
    Specifies the size of a disk in the combined custom image, in GiB. Value range: 5 to 2000.
    snapshotId string
    Specifies a snapshot that is used to create a combined custom image.
    device str
    Specifies the name of a disk in the combined custom image. Value range: /dev/xvda to /dev/xvdz.
    disk_type str
    Specifies the type of a disk in the combined custom image. If you specify this parameter, you can use a data disk snapshot as the data source of a system disk for creating an image. If it is not specified, the disk type is determined by the corresponding snapshot. Valid values: system, data,
    size int
    Specifies the size of a disk in the combined custom image, in GiB. Value range: 5 to 2000.
    snapshot_id str
    Specifies a snapshot that is used to create a combined custom image.
    device String
    Specifies the name of a disk in the combined custom image. Value range: /dev/xvda to /dev/xvdz.
    diskType String
    Specifies the type of a disk in the combined custom image. If you specify this parameter, you can use a data disk snapshot as the data source of a system disk for creating an image. If it is not specified, the disk type is determined by the corresponding snapshot. Valid values: system, data,
    size Number
    Specifies the size of a disk in the combined custom image, in GiB. Value range: 5 to 2000.
    snapshotId String
    Specifies a snapshot that is used to create a combined custom image.

    Import

    image can be imported using the id, e.g.

    $ pulumi import alicloud:ecs/image:Image default m-uf66871ape***yg1q***
    

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    Alibaba Cloud pulumi/pulumi-alicloud
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the alicloud Terraform Provider.
    alicloud logo
    Alibaba Cloud v3.57.1 published on Wednesday, Jun 26, 2024 by Pulumi