Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance. Project price only 1 $
You can buy this project and download/modify it how often you want.
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.azurenative.compute.kotlin
import com.pulumi.azurenative.compute.GalleryImageArgs.builder
import com.pulumi.azurenative.compute.kotlin.enums.Architecture
import com.pulumi.azurenative.compute.kotlin.enums.HyperVGeneration
import com.pulumi.azurenative.compute.kotlin.enums.OperatingSystemStateTypes
import com.pulumi.azurenative.compute.kotlin.enums.OperatingSystemTypes
import com.pulumi.azurenative.compute.kotlin.inputs.DisallowedArgs
import com.pulumi.azurenative.compute.kotlin.inputs.DisallowedArgsBuilder
import com.pulumi.azurenative.compute.kotlin.inputs.GalleryImageFeatureArgs
import com.pulumi.azurenative.compute.kotlin.inputs.GalleryImageFeatureArgsBuilder
import com.pulumi.azurenative.compute.kotlin.inputs.GalleryImageIdentifierArgs
import com.pulumi.azurenative.compute.kotlin.inputs.GalleryImageIdentifierArgsBuilder
import com.pulumi.azurenative.compute.kotlin.inputs.ImagePurchasePlanArgs
import com.pulumi.azurenative.compute.kotlin.inputs.ImagePurchasePlanArgsBuilder
import com.pulumi.azurenative.compute.kotlin.inputs.RecommendedMachineConfigurationArgs
import com.pulumi.azurenative.compute.kotlin.inputs.RecommendedMachineConfigurationArgsBuilder
import com.pulumi.core.Either
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Pair
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.collections.Map
import kotlin.jvm.JvmName
/**
* Specifies information about the gallery image definition that you want to create or update.
* Azure REST API version: 2022-03-03. Prior API version in Azure Native 1.x: 2020-09-30.
* Other available API versions: 2022-08-03, 2023-07-03.
* ## Example Usage
* ### Create or update a simple gallery image.
* ```csharp
* using System.Collections.Generic;
* using System.Linq;
* using Pulumi;
* using AzureNative = Pulumi.AzureNative;
* return await Deployment.RunAsync(() =>
* {
* var galleryImage = new AzureNative.Compute.GalleryImage("galleryImage", new()
* {
* GalleryImageName = "myGalleryImageName",
* GalleryName = "myGalleryName",
* HyperVGeneration = AzureNative.Compute.HyperVGeneration.V1,
* Identifier = new AzureNative.Compute.Inputs.GalleryImageIdentifierArgs
* {
* Offer = "myOfferName",
* Publisher = "myPublisherName",
* Sku = "mySkuName",
* },
* Location = "West US",
* OsState = AzureNative.Compute.OperatingSystemStateTypes.Generalized,
* OsType = AzureNative.Compute.OperatingSystemTypes.Windows,
* ResourceGroupName = "myResourceGroup",
* });
* });
* ```
* ```go
* package main
* import (
* compute "github.com/pulumi/pulumi-azure-native-sdk/compute/v2"
* "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
* )
* func main() {
* pulumi.Run(func(ctx *pulumi.Context) error {
* _, err := compute.NewGalleryImage(ctx, "galleryImage", &compute.GalleryImageArgs{
* GalleryImageName: pulumi.String("myGalleryImageName"),
* GalleryName: pulumi.String("myGalleryName"),
* HyperVGeneration: pulumi.String(compute.HyperVGenerationV1),
* Identifier: &compute.GalleryImageIdentifierArgs{
* Offer: pulumi.String("myOfferName"),
* Publisher: pulumi.String("myPublisherName"),
* Sku: pulumi.String("mySkuName"),
* },
* Location: pulumi.String("West US"),
* OsState: compute.OperatingSystemStateTypesGeneralized,
* OsType: compute.OperatingSystemTypesWindows,
* ResourceGroupName: pulumi.String("myResourceGroup"),
* })
* if err != nil {
* return err
* }
* return nil
* })
* }
* ```
* ```java
* package generated_program;
* import com.pulumi.Context;
* import com.pulumi.Pulumi;
* import com.pulumi.core.Output;
* import com.pulumi.azurenative.compute.GalleryImage;
* import com.pulumi.azurenative.compute.GalleryImageArgs;
* import com.pulumi.azurenative.compute.inputs.GalleryImageIdentifierArgs;
* 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 galleryImage = new GalleryImage("galleryImage", GalleryImageArgs.builder()
* .galleryImageName("myGalleryImageName")
* .galleryName("myGalleryName")
* .hyperVGeneration("V1")
* .identifier(GalleryImageIdentifierArgs.builder()
* .offer("myOfferName")
* .publisher("myPublisherName")
* .sku("mySkuName")
* .build())
* .location("West US")
* .osState("Generalized")
* .osType("Windows")
* .resourceGroupName("myResourceGroup")
* .build());
* }
* }
* ```
* ## Import
* An existing resource can be imported using its type token, name, and identifier, e.g.
* ```sh
* $ pulumi import azure-native:compute:GalleryImage myGalleryImageName /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/images/{galleryImageName}
* ```
* @property architecture The architecture of the image. Applicable to OS disks only.
* @property description The description of this gallery image definition resource. This property is updatable.
* @property disallowed Describes the disallowed disk types.
* @property endOfLifeDate The end of life date of the gallery image definition. This property can be used for decommissioning purposes. This property is updatable.
* @property eula The Eula agreement for the gallery image definition.
* @property features A list of gallery image features.
* @property galleryImageName The name of the gallery image definition to be created or updated. The allowed characters are alphabets and numbers with dots, dashes, and periods allowed in the middle. The maximum length is 80 characters.
* @property galleryName The name of the Shared Image Gallery in which the Image Definition is to be created.
* @property hyperVGeneration The hypervisor generation of the Virtual Machine. Applicable to OS disks only.
* @property identifier This is the gallery image definition identifier.
* @property location Resource location
* @property osState This property allows the user to specify whether the virtual machines created under this image are 'Generalized' or 'Specialized'.
* @property osType This property allows you to specify the type of the OS that is included in the disk when creating a VM from a managed image.
Possible values are:
**Windows**
**Linux**
* @property privacyStatementUri The privacy statement uri.
* @property purchasePlan Describes the gallery image definition purchase plan. This is used by marketplace images.
* @property recommended The properties describe the recommended machine configuration for this Image Definition. These properties are updatable.
* @property releaseNoteUri The release note uri.
* @property resourceGroupName The name of the resource group.
* @property tags Resource tags
*/
public data class GalleryImageArgs(
public val architecture: Output>? = null,
public val description: Output? = null,
public val disallowed: Output? = null,
public val endOfLifeDate: Output? = null,
public val eula: Output? = null,
public val features: Output>? = null,
public val galleryImageName: Output? = null,
public val galleryName: Output? = null,
public val hyperVGeneration: Output>? = null,
public val identifier: Output? = null,
public val location: Output? = null,
public val osState: Output? = null,
public val osType: Output? = null,
public val privacyStatementUri: Output? = null,
public val purchasePlan: Output? = null,
public val recommended: Output? = null,
public val releaseNoteUri: Output? = null,
public val resourceGroupName: Output? = null,
public val tags: Output