import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * Manages a Version of a Shared Image within a Shared Image Gallery. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as azure from "@pulumi/azure"; * * const existing = azure.compute.getImage({ * name: "search-api", * resourceGroupName: "packerimages", * }); * const existingGetSharedImage = azure.compute.getSharedImage({ * name: "existing-image", * galleryName: "existing_gallery", * resourceGroupName: "existing-resources", * }); * const example = new azure.compute.SharedImageVersion("example", { * name: "0.0.1", * galleryName: existingGetSharedImage.then(existingGetSharedImage => existingGetSharedImage.galleryName), * imageName: existingGetSharedImage.then(existingGetSharedImage => existingGetSharedImage.name), * resourceGroupName: existingGetSharedImage.then(existingGetSharedImage => existingGetSharedImage.resourceGroupName), * location: existingGetSharedImage.then(existingGetSharedImage => existingGetSharedImage.location), * managedImageId: existing.then(existing => existing.id), * targetRegions: [{ * name: existingGetSharedImage.then(existingGetSharedImage => existingGetSharedImage.location), * regionalReplicaCount: 5, * storageAccountType: "Standard_LRS", * }], * }); * ``` * * ## API Providers * * * This resource uses the following Azure API Providers: * * * `Microsoft.Compute` - 2023-07-03 * * ## Import * * Shared Image Versions can be imported using the `resource id`, e.g. * * ```sh * $ pulumi import azure:compute/sharedImageVersion:SharedImageVersion version /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Compute/galleries/gallery1/images/image1/versions/1.2.3 * ``` */ export declare class SharedImageVersion extends pulumi.CustomResource { /** * Get an existing SharedImageVersion resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, state?: SharedImageVersionState, opts?: pulumi.CustomResourceOptions): SharedImageVersion; /** * Returns true if the given object is an instance of SharedImageVersion. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is SharedImageVersion; /** * URI of the Azure Storage Blob used to create the Image Version. Changing this forces a new resource to be created. * * > **NOTE:** You must specify exact one of `blobUri`, `managedImageId` and `osDiskSnapshotId`. * * > **NOTE:** `blobUri` and `storageAccountId` must be specified together */ readonly blobUri: pulumi.Output; /** * Specifies whether this Shared Image Version can be deleted from the Azure Regions this is replicated to. Defaults to `false`. Changing this forces a new resource to be created. */ readonly deletionOfReplicatedLocationsEnabled: pulumi.Output; /** * The end of life date in RFC3339 format of the Image Version. */ readonly endOfLifeDate: pulumi.Output; /** * Should this Image Version be excluded from the `latest` filter? If set to `true` this Image Version won't be returned for the `latest` version. Defaults to `false`. */ readonly excludeFromLatest: pulumi.Output; /** * The name of the Shared Image Gallery in which the Shared Image exists. Changing this forces a new resource to be created. */ readonly galleryName: pulumi.Output; /** * The name of the Shared Image within the Shared Image Gallery in which this Version should be created. Changing this forces a new resource to be created. */ readonly imageName: pulumi.Output; /** * The Azure Region in which the Shared Image Gallery exists. Changing this forces a new resource to be created. */ readonly location: pulumi.Output; /** * The ID of the Managed Image or Virtual Machine ID which should be used for this Shared Image Version. Changing this forces a new resource to be created. * * > **NOTE:** The ID can be sourced from the `azure.compute.Image` data source or resource * * > **NOTE:** You must specify exact one of `blobUri`, `managedImageId` and `osDiskSnapshotId`. */ readonly managedImageId: pulumi.Output; /** * The version number for this Image Version, such as `1.0.0`. Changing this forces a new resource to be created. */ readonly name: pulumi.Output; /** * The ID of the OS disk snapshot which should be used for this Shared Image Version. Changing this forces a new resource to be created. * * > **NOTE:** You must specify exact one of `blobUri`, `managedImageId` and `osDiskSnapshotId`. */ readonly osDiskSnapshotId: pulumi.Output; /** * Mode to be used for replication. Possible values are `Full` and `Shallow`. Defaults to `Full`. Changing this forces a new resource to be created. */ readonly replicationMode: pulumi.Output; /** * The name of the Resource Group in which the Shared Image Gallery exists. Changing this forces a new resource to be created. */ readonly resourceGroupName: pulumi.Output; /** * The ID of the Storage Account where the Blob exists. Changing this forces a new resource to be created. * * > **NOTE:** `blobUri` and `storageAccountId` must be specified together */ readonly storageAccountId: pulumi.Output; /** * A collection of tags which should be applied to this resource. */ readonly tags: pulumi.Output<{ [key: string]: string; } | undefined>; /** * One or more `targetRegion` blocks as documented below. */ readonly targetRegions: pulumi.Output; /** * Create a SharedImageVersion resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: SharedImageVersionArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering SharedImageVersion resources. */ export interface SharedImageVersionState { /** * URI of the Azure Storage Blob used to create the Image Version. Changing this forces a new resource to be created. * * > **NOTE:** You must specify exact one of `blobUri`, `managedImageId` and `osDiskSnapshotId`. * * > **NOTE:** `blobUri` and `storageAccountId` must be specified together */ blobUri?: pulumi.Input; /** * Specifies whether this Shared Image Version can be deleted from the Azure Regions this is replicated to. Defaults to `false`. Changing this forces a new resource to be created. */ deletionOfReplicatedLocationsEnabled?: pulumi.Input; /** * The end of life date in RFC3339 format of the Image Version. */ endOfLifeDate?: pulumi.Input; /** * Should this Image Version be excluded from the `latest` filter? If set to `true` this Image Version won't be returned for the `latest` version. Defaults to `false`. */ excludeFromLatest?: pulumi.Input; /** * The name of the Shared Image Gallery in which the Shared Image exists. Changing this forces a new resource to be created. */ galleryName?: pulumi.Input; /** * The name of the Shared Image within the Shared Image Gallery in which this Version should be created. Changing this forces a new resource to be created. */ imageName?: pulumi.Input; /** * The Azure Region in which the Shared Image Gallery exists. Changing this forces a new resource to be created. */ location?: pulumi.Input; /** * The ID of the Managed Image or Virtual Machine ID which should be used for this Shared Image Version. Changing this forces a new resource to be created. * * > **NOTE:** The ID can be sourced from the `azure.compute.Image` data source or resource * * > **NOTE:** You must specify exact one of `blobUri`, `managedImageId` and `osDiskSnapshotId`. */ managedImageId?: pulumi.Input; /** * The version number for this Image Version, such as `1.0.0`. Changing this forces a new resource to be created. */ name?: pulumi.Input; /** * The ID of the OS disk snapshot which should be used for this Shared Image Version. Changing this forces a new resource to be created. * * > **NOTE:** You must specify exact one of `blobUri`, `managedImageId` and `osDiskSnapshotId`. */ osDiskSnapshotId?: pulumi.Input; /** * Mode to be used for replication. Possible values are `Full` and `Shallow`. Defaults to `Full`. Changing this forces a new resource to be created. */ replicationMode?: pulumi.Input; /** * The name of the Resource Group in which the Shared Image Gallery exists. Changing this forces a new resource to be created. */ resourceGroupName?: pulumi.Input; /** * The ID of the Storage Account where the Blob exists. Changing this forces a new resource to be created. * * > **NOTE:** `blobUri` and `storageAccountId` must be specified together */ storageAccountId?: pulumi.Input; /** * A collection of tags which should be applied to this resource. */ tags?: pulumi.Input<{ [key: string]: pulumi.Input; }>; /** * One or more `targetRegion` blocks as documented below. */ targetRegions?: pulumi.Input[]>; } /** * The set of arguments for constructing a SharedImageVersion resource. */ export interface SharedImageVersionArgs { /** * URI of the Azure Storage Blob used to create the Image Version. Changing this forces a new resource to be created. * * > **NOTE:** You must specify exact one of `blobUri`, `managedImageId` and `osDiskSnapshotId`. * * > **NOTE:** `blobUri` and `storageAccountId` must be specified together */ blobUri?: pulumi.Input; /** * Specifies whether this Shared Image Version can be deleted from the Azure Regions this is replicated to. Defaults to `false`. Changing this forces a new resource to be created. */ deletionOfReplicatedLocationsEnabled?: pulumi.Input; /** * The end of life date in RFC3339 format of the Image Version. */ endOfLifeDate?: pulumi.Input; /** * Should this Image Version be excluded from the `latest` filter? If set to `true` this Image Version won't be returned for the `latest` version. Defaults to `false`. */ excludeFromLatest?: pulumi.Input; /** * The name of the Shared Image Gallery in which the Shared Image exists. Changing this forces a new resource to be created. */ galleryName: pulumi.Input; /** * The name of the Shared Image within the Shared Image Gallery in which this Version should be created. Changing this forces a new resource to be created. */ imageName: pulumi.Input; /** * The Azure Region in which the Shared Image Gallery exists. Changing this forces a new resource to be created. */ location?: pulumi.Input; /** * The ID of the Managed Image or Virtual Machine ID which should be used for this Shared Image Version. Changing this forces a new resource to be created. * * > **NOTE:** The ID can be sourced from the `azure.compute.Image` data source or resource * * > **NOTE:** You must specify exact one of `blobUri`, `managedImageId` and `osDiskSnapshotId`. */ managedImageId?: pulumi.Input; /** * The version number for this Image Version, such as `1.0.0`. Changing this forces a new resource to be created. */ name?: pulumi.Input; /** * The ID of the OS disk snapshot which should be used for this Shared Image Version. Changing this forces a new resource to be created. * * > **NOTE:** You must specify exact one of `blobUri`, `managedImageId` and `osDiskSnapshotId`. */ osDiskSnapshotId?: pulumi.Input; /** * Mode to be used for replication. Possible values are `Full` and `Shallow`. Defaults to `Full`. Changing this forces a new resource to be created. */ replicationMode?: pulumi.Input; /** * The name of the Resource Group in which the Shared Image Gallery exists. Changing this forces a new resource to be created. */ resourceGroupName: pulumi.Input; /** * The ID of the Storage Account where the Blob exists. Changing this forces a new resource to be created. * * > **NOTE:** `blobUri` and `storageAccountId` must be specified together */ storageAccountId?: pulumi.Input; /** * A collection of tags which should be applied to this resource. */ tags?: pulumi.Input<{ [key: string]: pulumi.Input; }>; /** * One or more `targetRegion` blocks as documented below. */ targetRegions: pulumi.Input[]>; }