All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.azure.compute.kotlin.ComputeFunctions.kt Maven / Gradle / Ivy

@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.azure.compute.kotlin

import com.pulumi.azure.compute.ComputeFunctions.getAvailabilitySetPlain
import com.pulumi.azure.compute.ComputeFunctions.getBastionHostPlain
import com.pulumi.azure.compute.ComputeFunctions.getConfidentialLedgerPlain
import com.pulumi.azure.compute.ComputeFunctions.getDedicatedHostGroupPlain
import com.pulumi.azure.compute.ComputeFunctions.getDedicatedHostPlain
import com.pulumi.azure.compute.ComputeFunctions.getDiskAccessPlain
import com.pulumi.azure.compute.ComputeFunctions.getDiskEncryptionSetPlain
import com.pulumi.azure.compute.ComputeFunctions.getImagePlain
import com.pulumi.azure.compute.ComputeFunctions.getImagesPlain
import com.pulumi.azure.compute.ComputeFunctions.getIpGroupsPlain
import com.pulumi.azure.compute.ComputeFunctions.getManagedDiskPlain
import com.pulumi.azure.compute.ComputeFunctions.getOrchestratedVirtualMachineScaleSetPlain
import com.pulumi.azure.compute.ComputeFunctions.getPlatformImagePlain
import com.pulumi.azure.compute.ComputeFunctions.getSharedImageGalleryPlain
import com.pulumi.azure.compute.ComputeFunctions.getSharedImagePlain
import com.pulumi.azure.compute.ComputeFunctions.getSharedImageVersionPlain
import com.pulumi.azure.compute.ComputeFunctions.getSharedImageVersionsPlain
import com.pulumi.azure.compute.ComputeFunctions.getSnapshotPlain
import com.pulumi.azure.compute.ComputeFunctions.getSshPublicKeyPlain
import com.pulumi.azure.compute.ComputeFunctions.getVirtualMachinePlain
import com.pulumi.azure.compute.ComputeFunctions.getVirtualMachineScaleSetPlain
import com.pulumi.azure.compute.kotlin.inputs.GetAvailabilitySetPlainArgs
import com.pulumi.azure.compute.kotlin.inputs.GetAvailabilitySetPlainArgsBuilder
import com.pulumi.azure.compute.kotlin.inputs.GetBastionHostPlainArgs
import com.pulumi.azure.compute.kotlin.inputs.GetBastionHostPlainArgsBuilder
import com.pulumi.azure.compute.kotlin.inputs.GetConfidentialLedgerPlainArgs
import com.pulumi.azure.compute.kotlin.inputs.GetConfidentialLedgerPlainArgsBuilder
import com.pulumi.azure.compute.kotlin.inputs.GetDedicatedHostGroupPlainArgs
import com.pulumi.azure.compute.kotlin.inputs.GetDedicatedHostGroupPlainArgsBuilder
import com.pulumi.azure.compute.kotlin.inputs.GetDedicatedHostPlainArgs
import com.pulumi.azure.compute.kotlin.inputs.GetDedicatedHostPlainArgsBuilder
import com.pulumi.azure.compute.kotlin.inputs.GetDiskAccessPlainArgs
import com.pulumi.azure.compute.kotlin.inputs.GetDiskAccessPlainArgsBuilder
import com.pulumi.azure.compute.kotlin.inputs.GetDiskEncryptionSetPlainArgs
import com.pulumi.azure.compute.kotlin.inputs.GetDiskEncryptionSetPlainArgsBuilder
import com.pulumi.azure.compute.kotlin.inputs.GetImagePlainArgs
import com.pulumi.azure.compute.kotlin.inputs.GetImagePlainArgsBuilder
import com.pulumi.azure.compute.kotlin.inputs.GetImagesPlainArgs
import com.pulumi.azure.compute.kotlin.inputs.GetImagesPlainArgsBuilder
import com.pulumi.azure.compute.kotlin.inputs.GetIpGroupsPlainArgs
import com.pulumi.azure.compute.kotlin.inputs.GetIpGroupsPlainArgsBuilder
import com.pulumi.azure.compute.kotlin.inputs.GetManagedDiskPlainArgs
import com.pulumi.azure.compute.kotlin.inputs.GetManagedDiskPlainArgsBuilder
import com.pulumi.azure.compute.kotlin.inputs.GetOrchestratedVirtualMachineScaleSetPlainArgs
import com.pulumi.azure.compute.kotlin.inputs.GetOrchestratedVirtualMachineScaleSetPlainArgsBuilder
import com.pulumi.azure.compute.kotlin.inputs.GetPlatformImagePlainArgs
import com.pulumi.azure.compute.kotlin.inputs.GetPlatformImagePlainArgsBuilder
import com.pulumi.azure.compute.kotlin.inputs.GetSharedImageGalleryPlainArgs
import com.pulumi.azure.compute.kotlin.inputs.GetSharedImageGalleryPlainArgsBuilder
import com.pulumi.azure.compute.kotlin.inputs.GetSharedImagePlainArgs
import com.pulumi.azure.compute.kotlin.inputs.GetSharedImagePlainArgsBuilder
import com.pulumi.azure.compute.kotlin.inputs.GetSharedImageVersionPlainArgs
import com.pulumi.azure.compute.kotlin.inputs.GetSharedImageVersionPlainArgsBuilder
import com.pulumi.azure.compute.kotlin.inputs.GetSharedImageVersionsPlainArgs
import com.pulumi.azure.compute.kotlin.inputs.GetSharedImageVersionsPlainArgsBuilder
import com.pulumi.azure.compute.kotlin.inputs.GetSnapshotPlainArgs
import com.pulumi.azure.compute.kotlin.inputs.GetSnapshotPlainArgsBuilder
import com.pulumi.azure.compute.kotlin.inputs.GetSshPublicKeyPlainArgs
import com.pulumi.azure.compute.kotlin.inputs.GetSshPublicKeyPlainArgsBuilder
import com.pulumi.azure.compute.kotlin.inputs.GetVirtualMachinePlainArgs
import com.pulumi.azure.compute.kotlin.inputs.GetVirtualMachinePlainArgsBuilder
import com.pulumi.azure.compute.kotlin.inputs.GetVirtualMachineScaleSetPlainArgs
import com.pulumi.azure.compute.kotlin.inputs.GetVirtualMachineScaleSetPlainArgsBuilder
import com.pulumi.azure.compute.kotlin.outputs.GetAvailabilitySetResult
import com.pulumi.azure.compute.kotlin.outputs.GetBastionHostResult
import com.pulumi.azure.compute.kotlin.outputs.GetConfidentialLedgerResult
import com.pulumi.azure.compute.kotlin.outputs.GetDedicatedHostGroupResult
import com.pulumi.azure.compute.kotlin.outputs.GetDedicatedHostResult
import com.pulumi.azure.compute.kotlin.outputs.GetDiskAccessResult
import com.pulumi.azure.compute.kotlin.outputs.GetDiskEncryptionSetResult
import com.pulumi.azure.compute.kotlin.outputs.GetImageResult
import com.pulumi.azure.compute.kotlin.outputs.GetImagesResult
import com.pulumi.azure.compute.kotlin.outputs.GetIpGroupsResult
import com.pulumi.azure.compute.kotlin.outputs.GetManagedDiskResult
import com.pulumi.azure.compute.kotlin.outputs.GetOrchestratedVirtualMachineScaleSetResult
import com.pulumi.azure.compute.kotlin.outputs.GetPlatformImageResult
import com.pulumi.azure.compute.kotlin.outputs.GetSharedImageGalleryResult
import com.pulumi.azure.compute.kotlin.outputs.GetSharedImageResult
import com.pulumi.azure.compute.kotlin.outputs.GetSharedImageVersionResult
import com.pulumi.azure.compute.kotlin.outputs.GetSharedImageVersionsResult
import com.pulumi.azure.compute.kotlin.outputs.GetSnapshotResult
import com.pulumi.azure.compute.kotlin.outputs.GetSshPublicKeyResult
import com.pulumi.azure.compute.kotlin.outputs.GetVirtualMachineResult
import com.pulumi.azure.compute.kotlin.outputs.GetVirtualMachineScaleSetResult
import kotlinx.coroutines.future.await
import kotlin.Boolean
import kotlin.Deprecated
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.Map
import com.pulumi.azure.compute.kotlin.outputs.GetAvailabilitySetResult.Companion.toKotlin as getAvailabilitySetResultToKotlin
import com.pulumi.azure.compute.kotlin.outputs.GetBastionHostResult.Companion.toKotlin as getBastionHostResultToKotlin
import com.pulumi.azure.compute.kotlin.outputs.GetConfidentialLedgerResult.Companion.toKotlin as getConfidentialLedgerResultToKotlin
import com.pulumi.azure.compute.kotlin.outputs.GetDedicatedHostGroupResult.Companion.toKotlin as getDedicatedHostGroupResultToKotlin
import com.pulumi.azure.compute.kotlin.outputs.GetDedicatedHostResult.Companion.toKotlin as getDedicatedHostResultToKotlin
import com.pulumi.azure.compute.kotlin.outputs.GetDiskAccessResult.Companion.toKotlin as getDiskAccessResultToKotlin
import com.pulumi.azure.compute.kotlin.outputs.GetDiskEncryptionSetResult.Companion.toKotlin as getDiskEncryptionSetResultToKotlin
import com.pulumi.azure.compute.kotlin.outputs.GetImageResult.Companion.toKotlin as getImageResultToKotlin
import com.pulumi.azure.compute.kotlin.outputs.GetImagesResult.Companion.toKotlin as getImagesResultToKotlin
import com.pulumi.azure.compute.kotlin.outputs.GetIpGroupsResult.Companion.toKotlin as getIpGroupsResultToKotlin
import com.pulumi.azure.compute.kotlin.outputs.GetManagedDiskResult.Companion.toKotlin as getManagedDiskResultToKotlin
import com.pulumi.azure.compute.kotlin.outputs.GetOrchestratedVirtualMachineScaleSetResult.Companion.toKotlin as getOrchestratedVirtualMachineScaleSetResultToKotlin
import com.pulumi.azure.compute.kotlin.outputs.GetPlatformImageResult.Companion.toKotlin as getPlatformImageResultToKotlin
import com.pulumi.azure.compute.kotlin.outputs.GetSharedImageGalleryResult.Companion.toKotlin as getSharedImageGalleryResultToKotlin
import com.pulumi.azure.compute.kotlin.outputs.GetSharedImageResult.Companion.toKotlin as getSharedImageResultToKotlin
import com.pulumi.azure.compute.kotlin.outputs.GetSharedImageVersionResult.Companion.toKotlin as getSharedImageVersionResultToKotlin
import com.pulumi.azure.compute.kotlin.outputs.GetSharedImageVersionsResult.Companion.toKotlin as getSharedImageVersionsResultToKotlin
import com.pulumi.azure.compute.kotlin.outputs.GetSnapshotResult.Companion.toKotlin as getSnapshotResultToKotlin
import com.pulumi.azure.compute.kotlin.outputs.GetSshPublicKeyResult.Companion.toKotlin as getSshPublicKeyResultToKotlin
import com.pulumi.azure.compute.kotlin.outputs.GetVirtualMachineResult.Companion.toKotlin as getVirtualMachineResultToKotlin
import com.pulumi.azure.compute.kotlin.outputs.GetVirtualMachineScaleSetResult.Companion.toKotlin as getVirtualMachineScaleSetResultToKotlin

public object ComputeFunctions {
    /**
     * Use this data source to access information about an existing Availability Set.
     * ## Example Usage
     * 
     * ```typescript
     * import * as pulumi from "@pulumi/pulumi";
     * import * as azure from "@pulumi/azure";
     * const example = azure.compute.getAvailabilitySet({
     *     name: "tf-appsecuritygroup",
     *     resourceGroupName: "my-resource-group",
     * });
     * export const availabilitySetId = example.then(example => example.id);
     * ```
     * ```python
     * import pulumi
     * import pulumi_azure as azure
     * example = azure.compute.get_availability_set(name="tf-appsecuritygroup",
     *     resource_group_name="my-resource-group")
     * pulumi.export("availabilitySetId", example.id)
     * ```
     * ```csharp
     * using System.Collections.Generic;
     * using System.Linq;
     * using Pulumi;
     * using Azure = Pulumi.Azure;
     * return await Deployment.RunAsync(() =>
     * {
     *     var example = Azure.Compute.GetAvailabilitySet.Invoke(new()
     *     {
     *         Name = "tf-appsecuritygroup",
     *         ResourceGroupName = "my-resource-group",
     *     });
     *     return new Dictionary
     *     {
     *         ["availabilitySetId"] = example.Apply(getAvailabilitySetResult => getAvailabilitySetResult.Id),
     *     };
     * });
     * ```
     * ```go
     * package main
     * import (
     * 	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/compute"
     * 	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
     * )
     * func main() {
     * 	pulumi.Run(func(ctx *pulumi.Context) error {
     * 		example, err := compute.LookupAvailabilitySet(ctx, &compute.LookupAvailabilitySetArgs{
     * 			Name:              "tf-appsecuritygroup",
     * 			ResourceGroupName: "my-resource-group",
     * 		}, nil)
     * 		if err != nil {
     * 			return err
     * 		}
     * 		ctx.Export("availabilitySetId", example.Id)
     * 		return nil
     * 	})
     * }
     * ```
     * ```java
     * package generated_program;
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.azure.compute.ComputeFunctions;
     * import com.pulumi.azure.compute.inputs.GetAvailabilitySetArgs;
     * 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 example = ComputeFunctions.getAvailabilitySet(GetAvailabilitySetArgs.builder()
     *             .name("tf-appsecuritygroup")
     *             .resourceGroupName("my-resource-group")
     *             .build());
     *         ctx.export("availabilitySetId", example.applyValue(getAvailabilitySetResult -> getAvailabilitySetResult.id()));
     *     }
     * }
     * ```
     * ```yaml
     * variables:
     *   example:
     *     fn::invoke:
     *       Function: azure:compute:getAvailabilitySet
     *       Arguments:
     *         name: tf-appsecuritygroup
     *         resourceGroupName: my-resource-group
     * outputs:
     *   availabilitySetId: ${example.id}
     * ```
     * 
     * @param argument A collection of arguments for invoking getAvailabilitySet.
     * @return A collection of values returned by getAvailabilitySet.
     */
    public suspend fun getAvailabilitySet(argument: GetAvailabilitySetPlainArgs): GetAvailabilitySetResult =
        getAvailabilitySetResultToKotlin(getAvailabilitySetPlain(argument.toJava()).await())

    /**
     * @see [getAvailabilitySet].
     * @param name The name of the Availability Set.
     * @param resourceGroupName The name of the resource group in which the Availability Set exists.
     * @return A collection of values returned by getAvailabilitySet.
     */
    public suspend fun getAvailabilitySet(name: String, resourceGroupName: String): GetAvailabilitySetResult {
        val argument = GetAvailabilitySetPlainArgs(
            name = name,
            resourceGroupName = resourceGroupName,
        )
        return getAvailabilitySetResultToKotlin(getAvailabilitySetPlain(argument.toJava()).await())
    }

    /**
     * @see [getAvailabilitySet].
     * @param argument Builder for [com.pulumi.azure.compute.kotlin.inputs.GetAvailabilitySetPlainArgs].
     * @return A collection of values returned by getAvailabilitySet.
     */
    public suspend fun getAvailabilitySet(argument: suspend GetAvailabilitySetPlainArgsBuilder.() -> Unit): GetAvailabilitySetResult {
        val builder = GetAvailabilitySetPlainArgsBuilder()
        builder.argument()
        val builtArgument = builder.build()
        return getAvailabilitySetResultToKotlin(getAvailabilitySetPlain(builtArgument.toJava()).await())
    }

    /**
     * Use this data source to access information about an existing Bastion Host.
     * ## Example Usage
     * 
     * ```typescript
     * import * as pulumi from "@pulumi/pulumi";
     * import * as azure from "@pulumi/azure";
     * const example = azure.compute.getBastionHost({
     *     name: "existing-bastion",
     *     resourceGroupName: "existing-resources",
     * });
     * export const id = example.then(example => example.id);
     * ```
     * ```python
     * import pulumi
     * import pulumi_azure as azure
     * example = azure.compute.get_bastion_host(name="existing-bastion",
     *     resource_group_name="existing-resources")
     * pulumi.export("id", example.id)
     * ```
     * ```csharp
     * using System.Collections.Generic;
     * using System.Linq;
     * using Pulumi;
     * using Azure = Pulumi.Azure;
     * return await Deployment.RunAsync(() =>
     * {
     *     var example = Azure.Compute.GetBastionHost.Invoke(new()
     *     {
     *         Name = "existing-bastion",
     *         ResourceGroupName = "existing-resources",
     *     });
     *     return new Dictionary
     *     {
     *         ["id"] = example.Apply(getBastionHostResult => getBastionHostResult.Id),
     *     };
     * });
     * ```
     * ```go
     * package main
     * import (
     * 	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/compute"
     * 	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
     * )
     * func main() {
     * 	pulumi.Run(func(ctx *pulumi.Context) error {
     * 		example, err := compute.LookupBastionHost(ctx, &compute.LookupBastionHostArgs{
     * 			Name:              "existing-bastion",
     * 			ResourceGroupName: "existing-resources",
     * 		}, nil)
     * 		if err != nil {
     * 			return err
     * 		}
     * 		ctx.Export("id", example.Id)
     * 		return nil
     * 	})
     * }
     * ```
     * ```java
     * package generated_program;
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.azure.compute.ComputeFunctions;
     * import com.pulumi.azure.compute.inputs.GetBastionHostArgs;
     * 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 example = ComputeFunctions.getBastionHost(GetBastionHostArgs.builder()
     *             .name("existing-bastion")
     *             .resourceGroupName("existing-resources")
     *             .build());
     *         ctx.export("id", example.applyValue(getBastionHostResult -> getBastionHostResult.id()));
     *     }
     * }
     * ```
     * ```yaml
     * variables:
     *   example:
     *     fn::invoke:
     *       Function: azure:compute:getBastionHost
     *       Arguments:
     *         name: existing-bastion
     *         resourceGroupName: existing-resources
     * outputs:
     *   id: ${example.id}
     * ```
     * 
     * @param argument A collection of arguments for invoking getBastionHost.
     * @return A collection of values returned by getBastionHost.
     */
    public suspend fun getBastionHost(argument: GetBastionHostPlainArgs): GetBastionHostResult =
        getBastionHostResultToKotlin(getBastionHostPlain(argument.toJava()).await())

    /**
     * @see [getBastionHost].
     * @param name The name of the Bastion Host.
     * @param resourceGroupName The name of the Resource Group where the Bastion Host exists.
     * @return A collection of values returned by getBastionHost.
     */
    public suspend fun getBastionHost(name: String, resourceGroupName: String): GetBastionHostResult {
        val argument = GetBastionHostPlainArgs(
            name = name,
            resourceGroupName = resourceGroupName,
        )
        return getBastionHostResultToKotlin(getBastionHostPlain(argument.toJava()).await())
    }

    /**
     * @see [getBastionHost].
     * @param argument Builder for [com.pulumi.azure.compute.kotlin.inputs.GetBastionHostPlainArgs].
     * @return A collection of values returned by getBastionHost.
     */
    public suspend fun getBastionHost(argument: suspend GetBastionHostPlainArgsBuilder.() -> Unit): GetBastionHostResult {
        val builder = GetBastionHostPlainArgsBuilder()
        builder.argument()
        val builtArgument = builder.build()
        return getBastionHostResultToKotlin(getBastionHostPlain(builtArgument.toJava()).await())
    }

    /**
     * Gets information about an existing Confidential Ledger.
     * ## Example Usage
     * 
     * ```typescript
     * import * as pulumi from "@pulumi/pulumi";
     * import * as azure from "@pulumi/azure";
     * const current = azure.compute.getConfidentialLedger({
     *     name: "example-ledger",
     *     resourceGroupName: "example-resources",
     * });
     * export const ledgerEndpoint = current.then(current => current.ledgerEndpoint);
     * ```
     * ```python
     * import pulumi
     * import pulumi_azure as azure
     * current = azure.compute.get_confidential_ledger(name="example-ledger",
     *     resource_group_name="example-resources")
     * pulumi.export("ledgerEndpoint", current.ledger_endpoint)
     * ```
     * ```csharp
     * using System.Collections.Generic;
     * using System.Linq;
     * using Pulumi;
     * using Azure = Pulumi.Azure;
     * return await Deployment.RunAsync(() =>
     * {
     *     var current = Azure.Compute.GetConfidentialLedger.Invoke(new()
     *     {
     *         Name = "example-ledger",
     *         ResourceGroupName = "example-resources",
     *     });
     *     return new Dictionary
     *     {
     *         ["ledgerEndpoint"] = current.Apply(getConfidentialLedgerResult => getConfidentialLedgerResult.LedgerEndpoint),
     *     };
     * });
     * ```
     * ```go
     * package main
     * import (
     * 	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/compute"
     * 	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
     * )
     * func main() {
     * 	pulumi.Run(func(ctx *pulumi.Context) error {
     * 		current, err := compute.GetConfidentialLedger(ctx, &compute.GetConfidentialLedgerArgs{
     * 			Name:              "example-ledger",
     * 			ResourceGroupName: "example-resources",
     * 		}, nil)
     * 		if err != nil {
     * 			return err
     * 		}
     * 		ctx.Export("ledgerEndpoint", current.LedgerEndpoint)
     * 		return nil
     * 	})
     * }
     * ```
     * ```java
     * package generated_program;
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.azure.compute.ComputeFunctions;
     * import com.pulumi.azure.compute.inputs.GetConfidentialLedgerArgs;
     * 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 current = ComputeFunctions.getConfidentialLedger(GetConfidentialLedgerArgs.builder()
     *             .name("example-ledger")
     *             .resourceGroupName("example-resources")
     *             .build());
     *         ctx.export("ledgerEndpoint", current.applyValue(getConfidentialLedgerResult -> getConfidentialLedgerResult.ledgerEndpoint()));
     *     }
     * }
     * ```
     * ```yaml
     * variables:
     *   current:
     *     fn::invoke:
     *       Function: azure:compute:getConfidentialLedger
     *       Arguments:
     *         name: example-ledger
     *         resourceGroupName: example-resources
     * outputs:
     *   ledgerEndpoint: ${current.ledgerEndpoint}
     * ```
     * 
     * @param argument A collection of arguments for invoking getConfidentialLedger.
     * @return A collection of values returned by getConfidentialLedger.
     */
    public suspend fun getConfidentialLedger(argument: GetConfidentialLedgerPlainArgs): GetConfidentialLedgerResult =
        getConfidentialLedgerResultToKotlin(getConfidentialLedgerPlain(argument.toJava()).await())

    /**
     * @see [getConfidentialLedger].
     * @param name Specifies the name of this Confidential Ledger.
     * @param resourceGroupName Specifies the name of the Resource Group where this Confidential Ledger exists.
     * @return A collection of values returned by getConfidentialLedger.
     */
    public suspend fun getConfidentialLedger(name: String, resourceGroupName: String): GetConfidentialLedgerResult {
        val argument = GetConfidentialLedgerPlainArgs(
            name = name,
            resourceGroupName = resourceGroupName,
        )
        return getConfidentialLedgerResultToKotlin(getConfidentialLedgerPlain(argument.toJava()).await())
    }

    /**
     * @see [getConfidentialLedger].
     * @param argument Builder for [com.pulumi.azure.compute.kotlin.inputs.GetConfidentialLedgerPlainArgs].
     * @return A collection of values returned by getConfidentialLedger.
     */
    public suspend fun getConfidentialLedger(argument: suspend GetConfidentialLedgerPlainArgsBuilder.() -> Unit): GetConfidentialLedgerResult {
        val builder = GetConfidentialLedgerPlainArgsBuilder()
        builder.argument()
        val builtArgument = builder.build()
        return getConfidentialLedgerResultToKotlin(getConfidentialLedgerPlain(builtArgument.toJava()).await())
    }

    /**
     * Use this data source to access information about an existing Dedicated Host.
     * ## Example Usage
     * 
     * ```typescript
     * import * as pulumi from "@pulumi/pulumi";
     * import * as azure from "@pulumi/azure";
     * const example = azure.compute.getDedicatedHost({
     *     name: "example-host",
     *     dedicatedHostGroupName: "example-host-group",
     *     resourceGroupName: "example-resources",
     * });
     * export const dedicatedHostId = example.then(example => example.id);
     * ```
     * ```python
     * import pulumi
     * import pulumi_azure as azure
     * example = azure.compute.get_dedicated_host(name="example-host",
     *     dedicated_host_group_name="example-host-group",
     *     resource_group_name="example-resources")
     * pulumi.export("dedicatedHostId", example.id)
     * ```
     * ```csharp
     * using System.Collections.Generic;
     * using System.Linq;
     * using Pulumi;
     * using Azure = Pulumi.Azure;
     * return await Deployment.RunAsync(() =>
     * {
     *     var example = Azure.Compute.GetDedicatedHost.Invoke(new()
     *     {
     *         Name = "example-host",
     *         DedicatedHostGroupName = "example-host-group",
     *         ResourceGroupName = "example-resources",
     *     });
     *     return new Dictionary
     *     {
     *         ["dedicatedHostId"] = example.Apply(getDedicatedHostResult => getDedicatedHostResult.Id),
     *     };
     * });
     * ```
     * ```go
     * package main
     * import (
     * 	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/compute"
     * 	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
     * )
     * func main() {
     * 	pulumi.Run(func(ctx *pulumi.Context) error {
     * 		example, err := compute.LookupDedicatedHost(ctx, &compute.LookupDedicatedHostArgs{
     * 			Name:                   "example-host",
     * 			DedicatedHostGroupName: "example-host-group",
     * 			ResourceGroupName:      "example-resources",
     * 		}, nil)
     * 		if err != nil {
     * 			return err
     * 		}
     * 		ctx.Export("dedicatedHostId", example.Id)
     * 		return nil
     * 	})
     * }
     * ```
     * ```java
     * package generated_program;
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.azure.compute.ComputeFunctions;
     * import com.pulumi.azure.compute.inputs.GetDedicatedHostArgs;
     * 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 example = ComputeFunctions.getDedicatedHost(GetDedicatedHostArgs.builder()
     *             .name("example-host")
     *             .dedicatedHostGroupName("example-host-group")
     *             .resourceGroupName("example-resources")
     *             .build());
     *         ctx.export("dedicatedHostId", example.applyValue(getDedicatedHostResult -> getDedicatedHostResult.id()));
     *     }
     * }
     * ```
     * ```yaml
     * variables:
     *   example:
     *     fn::invoke:
     *       Function: azure:compute:getDedicatedHost
     *       Arguments:
     *         name: example-host
     *         dedicatedHostGroupName: example-host-group
     *         resourceGroupName: example-resources
     * outputs:
     *   dedicatedHostId: ${example.id}
     * ```
     * 
     * @param argument A collection of arguments for invoking getDedicatedHost.
     * @return A collection of values returned by getDedicatedHost.
     */
    public suspend fun getDedicatedHost(argument: GetDedicatedHostPlainArgs): GetDedicatedHostResult =
        getDedicatedHostResultToKotlin(getDedicatedHostPlain(argument.toJava()).await())

    /**
     * @see [getDedicatedHost].
     * @param dedicatedHostGroupName Specifies the name of the Dedicated Host Group the Dedicated Host is located in.
     * @param name Specifies the name of the Dedicated Host.
     * @param resourceGroupName Specifies the name of the resource group the Dedicated Host is located in.
     * @return A collection of values returned by getDedicatedHost.
     */
    public suspend fun getDedicatedHost(
        dedicatedHostGroupName: String,
        name: String,
        resourceGroupName: String,
    ): GetDedicatedHostResult {
        val argument = GetDedicatedHostPlainArgs(
            dedicatedHostGroupName = dedicatedHostGroupName,
            name = name,
            resourceGroupName = resourceGroupName,
        )
        return getDedicatedHostResultToKotlin(getDedicatedHostPlain(argument.toJava()).await())
    }

    /**
     * @see [getDedicatedHost].
     * @param argument Builder for [com.pulumi.azure.compute.kotlin.inputs.GetDedicatedHostPlainArgs].
     * @return A collection of values returned by getDedicatedHost.
     */
    public suspend fun getDedicatedHost(argument: suspend GetDedicatedHostPlainArgsBuilder.() -> Unit): GetDedicatedHostResult {
        val builder = GetDedicatedHostPlainArgsBuilder()
        builder.argument()
        val builtArgument = builder.build()
        return getDedicatedHostResultToKotlin(getDedicatedHostPlain(builtArgument.toJava()).await())
    }

    /**
     * Use this data source to access information about an existing Dedicated Host Group.
     * ## Example Usage
     * 
     * ```typescript
     * import * as pulumi from "@pulumi/pulumi";
     * import * as azure from "@pulumi/azure";
     * const example = azure.compute.getDedicatedHostGroup({
     *     name: "example-dedicated-host-group",
     *     resourceGroupName: "example-rg",
     * });
     * export const id = example.then(example => example.id);
     * ```
     * ```python
     * import pulumi
     * import pulumi_azure as azure
     * example = azure.compute.get_dedicated_host_group(name="example-dedicated-host-group",
     *     resource_group_name="example-rg")
     * pulumi.export("id", example.id)
     * ```
     * ```csharp
     * using System.Collections.Generic;
     * using System.Linq;
     * using Pulumi;
     * using Azure = Pulumi.Azure;
     * return await Deployment.RunAsync(() =>
     * {
     *     var example = Azure.Compute.GetDedicatedHostGroup.Invoke(new()
     *     {
     *         Name = "example-dedicated-host-group",
     *         ResourceGroupName = "example-rg",
     *     });
     *     return new Dictionary
     *     {
     *         ["id"] = example.Apply(getDedicatedHostGroupResult => getDedicatedHostGroupResult.Id),
     *     };
     * });
     * ```
     * ```go
     * package main
     * import (
     * 	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/compute"
     * 	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
     * )
     * func main() {
     * 	pulumi.Run(func(ctx *pulumi.Context) error {
     * 		example, err := compute.LookupDedicatedHostGroup(ctx, &compute.LookupDedicatedHostGroupArgs{
     * 			Name:              "example-dedicated-host-group",
     * 			ResourceGroupName: "example-rg",
     * 		}, nil)
     * 		if err != nil {
     * 			return err
     * 		}
     * 		ctx.Export("id", example.Id)
     * 		return nil
     * 	})
     * }
     * ```
     * ```java
     * package generated_program;
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.azure.compute.ComputeFunctions;
     * import com.pulumi.azure.compute.inputs.GetDedicatedHostGroupArgs;
     * 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 example = ComputeFunctions.getDedicatedHostGroup(GetDedicatedHostGroupArgs.builder()
     *             .name("example-dedicated-host-group")
     *             .resourceGroupName("example-rg")
     *             .build());
     *         ctx.export("id", example.applyValue(getDedicatedHostGroupResult -> getDedicatedHostGroupResult.id()));
     *     }
     * }
     * ```
     * ```yaml
     * variables:
     *   example:
     *     fn::invoke:
     *       Function: azure:compute:getDedicatedHostGroup
     *       Arguments:
     *         name: example-dedicated-host-group
     *         resourceGroupName: example-rg
     * outputs:
     *   id: ${example.id}
     * ```
     * 
     * @param argument A collection of arguments for invoking getDedicatedHostGroup.
     * @return A collection of values returned by getDedicatedHostGroup.
     */
    public suspend fun getDedicatedHostGroup(argument: GetDedicatedHostGroupPlainArgs): GetDedicatedHostGroupResult =
        getDedicatedHostGroupResultToKotlin(getDedicatedHostGroupPlain(argument.toJava()).await())

    /**
     * @see [getDedicatedHostGroup].
     * @param name Specifies the name of the Dedicated Host Group.
     * @param resourceGroupName Specifies the name of the resource group the Dedicated Host Group is located in.
     * @return A collection of values returned by getDedicatedHostGroup.
     */
    public suspend fun getDedicatedHostGroup(name: String, resourceGroupName: String): GetDedicatedHostGroupResult {
        val argument = GetDedicatedHostGroupPlainArgs(
            name = name,
            resourceGroupName = resourceGroupName,
        )
        return getDedicatedHostGroupResultToKotlin(getDedicatedHostGroupPlain(argument.toJava()).await())
    }

    /**
     * @see [getDedicatedHostGroup].
     * @param argument Builder for [com.pulumi.azure.compute.kotlin.inputs.GetDedicatedHostGroupPlainArgs].
     * @return A collection of values returned by getDedicatedHostGroup.
     */
    public suspend fun getDedicatedHostGroup(argument: suspend GetDedicatedHostGroupPlainArgsBuilder.() -> Unit): GetDedicatedHostGroupResult {
        val builder = GetDedicatedHostGroupPlainArgsBuilder()
        builder.argument()
        val builtArgument = builder.build()
        return getDedicatedHostGroupResultToKotlin(getDedicatedHostGroupPlain(builtArgument.toJava()).await())
    }

    /**
     * Use this data source to access information about an existing Disk Access.
     * ## Example Usage
     * 
     * ```typescript
     * import * as pulumi from "@pulumi/pulumi";
     * import * as azure from "@pulumi/azure";
     * const example = azure.compute.getDiskAccess({
     *     name: "existing",
     *     resourceGroupName: "existing",
     * });
     * export const id = example.then(example => example.id);
     * ```
     * ```python
     * import pulumi
     * import pulumi_azure as azure
     * example = azure.compute.get_disk_access(name="existing",
     *     resource_group_name="existing")
     * pulumi.export("id", example.id)
     * ```
     * ```csharp
     * using System.Collections.Generic;
     * using System.Linq;
     * using Pulumi;
     * using Azure = Pulumi.Azure;
     * return await Deployment.RunAsync(() =>
     * {
     *     var example = Azure.Compute.GetDiskAccess.Invoke(new()
     *     {
     *         Name = "existing",
     *         ResourceGroupName = "existing",
     *     });
     *     return new Dictionary
     *     {
     *         ["id"] = example.Apply(getDiskAccessResult => getDiskAccessResult.Id),
     *     };
     * });
     * ```
     * ```go
     * package main
     * import (
     * 	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/compute"
     * 	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
     * )
     * func main() {
     * 	pulumi.Run(func(ctx *pulumi.Context) error {
     * 		example, err := compute.LookupDiskAccess(ctx, &compute.LookupDiskAccessArgs{
     * 			Name:              "existing",
     * 			ResourceGroupName: "existing",
     * 		}, nil)
     * 		if err != nil {
     * 			return err
     * 		}
     * 		ctx.Export("id", example.Id)
     * 		return nil
     * 	})
     * }
     * ```
     * ```java
     * package generated_program;
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.azure.compute.ComputeFunctions;
     * import com.pulumi.azure.compute.inputs.GetDiskAccessArgs;
     * 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 example = ComputeFunctions.getDiskAccess(GetDiskAccessArgs.builder()
     *             .name("existing")
     *             .resourceGroupName("existing")
     *             .build());
     *         ctx.export("id", example.applyValue(getDiskAccessResult -> getDiskAccessResult.id()));
     *     }
     * }
     * ```
     * ```yaml
     * variables:
     *   example:
     *     fn::invoke:
     *       Function: azure:compute:getDiskAccess
     *       Arguments:
     *         name: existing
     *         resourceGroupName: existing
     * outputs:
     *   id: ${example.id}
     * ```
     * 
     * @param argument A collection of arguments for invoking getDiskAccess.
     * @return A collection of values returned by getDiskAccess.
     */
    public suspend fun getDiskAccess(argument: GetDiskAccessPlainArgs): GetDiskAccessResult =
        getDiskAccessResultToKotlin(getDiskAccessPlain(argument.toJava()).await())

    /**
     * @see [getDiskAccess].
     * @param name The name of this Disk Access.
     * @param resourceGroupName The name of the Resource Group where the Disk Access exists.
     * @return A collection of values returned by getDiskAccess.
     */
    public suspend fun getDiskAccess(name: String, resourceGroupName: String): GetDiskAccessResult {
        val argument = GetDiskAccessPlainArgs(
            name = name,
            resourceGroupName = resourceGroupName,
        )
        return getDiskAccessResultToKotlin(getDiskAccessPlain(argument.toJava()).await())
    }

    /**
     * @see [getDiskAccess].
     * @param argument Builder for [com.pulumi.azure.compute.kotlin.inputs.GetDiskAccessPlainArgs].
     * @return A collection of values returned by getDiskAccess.
     */
    public suspend fun getDiskAccess(argument: suspend GetDiskAccessPlainArgsBuilder.() -> Unit): GetDiskAccessResult {
        val builder = GetDiskAccessPlainArgsBuilder()
        builder.argument()
        val builtArgument = builder.build()
        return getDiskAccessResultToKotlin(getDiskAccessPlain(builtArgument.toJava()).await())
    }

    /**
     * Use this data source to access information about an existing Disk Encryption Set.
     * ## Example Usage
     * 
     * ```typescript
     * import * as pulumi from "@pulumi/pulumi";
     * import * as azure from "@pulumi/azure";
     * const existing = azure.compute.getDiskEncryptionSet({
     *     name: "example-des",
     *     resourceGroupName: "example-resources",
     * });
     * export const id = existing.then(existing => existing.id);
     * ```
     * ```python
     * import pulumi
     * import pulumi_azure as azure
     * existing = azure.compute.get_disk_encryption_set(name="example-des",
     *     resource_group_name="example-resources")
     * pulumi.export("id", existing.id)
     * ```
     * ```csharp
     * using System.Collections.Generic;
     * using System.Linq;
     * using Pulumi;
     * using Azure = Pulumi.Azure;
     * return await Deployment.RunAsync(() =>
     * {
     *     var existing = Azure.Compute.GetDiskEncryptionSet.Invoke(new()
     *     {
     *         Name = "example-des",
     *         ResourceGroupName = "example-resources",
     *     });
     *     return new Dictionary
     *     {
     *         ["id"] = existing.Apply(getDiskEncryptionSetResult => getDiskEncryptionSetResult.Id),
     *     };
     * });
     * ```
     * ```go
     * package main
     * import (
     * 	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/compute"
     * 	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
     * )
     * func main() {
     * 	pulumi.Run(func(ctx *pulumi.Context) error {
     * 		existing, err := compute.LookupDiskEncryptionSet(ctx, &compute.LookupDiskEncryptionSetArgs{
     * 			Name:              "example-des",
     * 			ResourceGroupName: "example-resources",
     * 		}, nil)
     * 		if err != nil {
     * 			return err
     * 		}
     * 		ctx.Export("id", existing.Id)
     * 		return nil
     * 	})
     * }
     * ```
     * ```java
     * package generated_program;
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.azure.compute.ComputeFunctions;
     * import com.pulumi.azure.compute.inputs.GetDiskEncryptionSetArgs;
     * 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 existing = ComputeFunctions.getDiskEncryptionSet(GetDiskEncryptionSetArgs.builder()
     *             .name("example-des")
     *             .resourceGroupName("example-resources")
     *             .build());
     *         ctx.export("id", existing.applyValue(getDiskEncryptionSetResult -> getDiskEncryptionSetResult.id()));
     *     }
     * }
     * ```
     * ```yaml
     * variables:
     *   existing:
     *     fn::invoke:
     *       Function: azure:compute:getDiskEncryptionSet
     *       Arguments:
     *         name: example-des
     *         resourceGroupName: example-resources
     * outputs:
     *   id: ${existing.id}
     * ```
     * 
     * @param argument A collection of arguments for invoking getDiskEncryptionSet.
     * @return A collection of values returned by getDiskEncryptionSet.
     */
    public suspend fun getDiskEncryptionSet(argument: GetDiskEncryptionSetPlainArgs): GetDiskEncryptionSetResult =
        getDiskEncryptionSetResultToKotlin(getDiskEncryptionSetPlain(argument.toJava()).await())

    /**
     * @see [getDiskEncryptionSet].
     * @param name The name of the existing Disk Encryption Set.
     * @param resourceGroupName The name of the Resource Group where the Disk Encryption Set exists.
     * @return A collection of values returned by getDiskEncryptionSet.
     */
    public suspend fun getDiskEncryptionSet(name: String, resourceGroupName: String): GetDiskEncryptionSetResult {
        val argument = GetDiskEncryptionSetPlainArgs(
            name = name,
            resourceGroupName = resourceGroupName,
        )
        return getDiskEncryptionSetResultToKotlin(getDiskEncryptionSetPlain(argument.toJava()).await())
    }

    /**
     * @see [getDiskEncryptionSet].
     * @param argument Builder for [com.pulumi.azure.compute.kotlin.inputs.GetDiskEncryptionSetPlainArgs].
     * @return A collection of values returned by getDiskEncryptionSet.
     */
    public suspend fun getDiskEncryptionSet(argument: suspend GetDiskEncryptionSetPlainArgsBuilder.() -> Unit): GetDiskEncryptionSetResult {
        val builder = GetDiskEncryptionSetPlainArgsBuilder()
        builder.argument()
        val builtArgument = builder.build()
        return getDiskEncryptionSetResultToKotlin(getDiskEncryptionSetPlain(builtArgument.toJava()).await())
    }

    /**
     * Use this data source to access information about an existing Image.
     * ## Example Usage
     * 
     * ```typescript
     * import * as pulumi from "@pulumi/pulumi";
     * import * as azure from "@pulumi/azure";
     * const search = azure.compute.getImage({
     *     name: "search-api",
     *     resourceGroupName: "packerimages",
     * });
     * export const imageId = search.then(search => search.id);
     * ```
     * ```python
     * import pulumi
     * import pulumi_azure as azure
     * search = azure.compute.get_image(name="search-api",
     *     resource_group_name="packerimages")
     * pulumi.export("imageId", search.id)
     * ```
     * ```csharp
     * using System.Collections.Generic;
     * using System.Linq;
     * using Pulumi;
     * using Azure = Pulumi.Azure;
     * return await Deployment.RunAsync(() =>
     * {
     *     var search = Azure.Compute.GetImage.Invoke(new()
     *     {
     *         Name = "search-api",
     *         ResourceGroupName = "packerimages",
     *     });
     *     return new Dictionary
     *     {
     *         ["imageId"] = search.Apply(getImageResult => getImageResult.Id),
     *     };
     * });
     * ```
     * ```go
     * package main
     * import (
     * 	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/compute"
     * 	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
     * )
     * func main() {
     * 	pulumi.Run(func(ctx *pulumi.Context) error {
     * 		search, err := compute.LookupImage(ctx, &compute.LookupImageArgs{
     * 			Name:              pulumi.StringRef("search-api"),
     * 			ResourceGroupName: "packerimages",
     * 		}, nil)
     * 		if err != nil {
     * 			return err
     * 		}
     * 		ctx.Export("imageId", search.Id)
     * 		return nil
     * 	})
     * }
     * ```
     * ```java
     * package generated_program;
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.azure.compute.ComputeFunctions;
     * import com.pulumi.azure.compute.inputs.GetImageArgs;
     * 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 search = ComputeFunctions.getImage(GetImageArgs.builder()
     *             .name("search-api")
     *             .resourceGroupName("packerimages")
     *             .build());
     *         ctx.export("imageId", search.applyValue(getImageResult -> getImageResult.id()));
     *     }
     * }
     * ```
     * ```yaml
     * variables:
     *   search:
     *     fn::invoke:
     *       Function: azure:compute:getImage
     *       Arguments:
     *         name: search-api
     *         resourceGroupName: packerimages
     * outputs:
     *   imageId: ${search.id}
     * ```
     * 
     * @param argument A collection of arguments for invoking getImage.
     * @return A collection of values returned by getImage.
     */
    public suspend fun getImage(argument: GetImagePlainArgs): GetImageResult =
        getImageResultToKotlin(getImagePlain(argument.toJava()).await())

    /**
     * @see [getImage].
     * @param name The name of the Image.
     * @param nameRegex Regex pattern of the image to match.
     * @param resourceGroupName The Name of the Resource Group where this Image exists.
     * @param sortDescending By default when matching by regex, images are sorted by name in ascending order and the first match is chosen, to sort descending, set this flag.
     * @return A collection of values returned by getImage.
     */
    public suspend fun getImage(
        name: String? = null,
        nameRegex: String? = null,
        resourceGroupName: String,
        sortDescending: Boolean? = null,
    ): GetImageResult {
        val argument = GetImagePlainArgs(
            name = name,
            nameRegex = nameRegex,
            resourceGroupName = resourceGroupName,
            sortDescending = sortDescending,
        )
        return getImageResultToKotlin(getImagePlain(argument.toJava()).await())
    }

    /**
     * @see [getImage].
     * @param argument Builder for [com.pulumi.azure.compute.kotlin.inputs.GetImagePlainArgs].
     * @return A collection of values returned by getImage.
     */
    public suspend fun getImage(argument: suspend GetImagePlainArgsBuilder.() -> Unit): GetImageResult {
        val builder = GetImagePlainArgsBuilder()
        builder.argument()
        val builtArgument = builder.build()
        return getImageResultToKotlin(getImagePlain(builtArgument.toJava()).await())
    }

    /**
     * Use this data source to access information about existing Images within a Resource Group.
     * ## Example Usage
     * 
     * ```typescript
     * import * as pulumi from "@pulumi/pulumi";
     * import * as azure from "@pulumi/azure";
     * const example = azure.compute.getImages({
     *     resourceGroupName: "example-resources",
     * });
     * ```
     * ```python
     * import pulumi
     * import pulumi_azure as azure
     * example = azure.compute.get_images(resource_group_name="example-resources")
     * ```
     * ```csharp
     * using System.Collections.Generic;
     * using System.Linq;
     * using Pulumi;
     * using Azure = Pulumi.Azure;
     * return await Deployment.RunAsync(() =>
     * {
     *     var example = Azure.Compute.GetImages.Invoke(new()
     *     {
     *         ResourceGroupName = "example-resources",
     *     });
     * });
     * ```
     * ```go
     * package main
     * import (
     * 	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/compute"
     * 	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
     * )
     * func main() {
     * 	pulumi.Run(func(ctx *pulumi.Context) error {
     * 		_, err := compute.GetImages(ctx, &compute.GetImagesArgs{
     * 			ResourceGroupName: "example-resources",
     * 		}, nil)
     * 		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.azure.compute.ComputeFunctions;
     * import com.pulumi.azure.compute.inputs.GetImagesArgs;
     * 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 example = ComputeFunctions.getImages(GetImagesArgs.builder()
     *             .resourceGroupName("example-resources")
     *             .build());
     *     }
     * }
     * ```
     * ```yaml
     * variables:
     *   example:
     *     fn::invoke:
     *       Function: azure:compute:getImages
     *       Arguments:
     *         resourceGroupName: example-resources
     * ```
     * 
     * @param argument A collection of arguments for invoking getImages.
     * @return A collection of values returned by getImages.
     */
    public suspend fun getImages(argument: GetImagesPlainArgs): GetImagesResult =
        getImagesResultToKotlin(getImagesPlain(argument.toJava()).await())

    /**
     * @see [getImages].
     * @param resourceGroupName The name of the Resource Group in which the Image exists.
     * @param tagsFilter A mapping of tags to filter the list of images against.
     * @return A collection of values returned by getImages.
     */
    public suspend fun getImages(resourceGroupName: String, tagsFilter: Map? = null): GetImagesResult {
        val argument = GetImagesPlainArgs(
            resourceGroupName = resourceGroupName,
            tagsFilter = tagsFilter,
        )
        return getImagesResultToKotlin(getImagesPlain(argument.toJava()).await())
    }

    /**
     * @see [getImages].
     * @param argument Builder for [com.pulumi.azure.compute.kotlin.inputs.GetImagesPlainArgs].
     * @return A collection of values returned by getImages.
     */
    public suspend fun getImages(argument: suspend GetImagesPlainArgsBuilder.() -> Unit): GetImagesResult {
        val builder = GetImagesPlainArgsBuilder()
        builder.argument()
        val builtArgument = builder.build()
        return getImagesResultToKotlin(getImagesPlain(builtArgument.toJava()).await())
    }

    /**
     * Use this data source to access information about existing IP Groups.
     * ## Example Usage
     * 
     * ```typescript
     * import * as pulumi from "@pulumi/pulumi";
     * import * as azure from "@pulumi/azure";
     * const example = azure.network.getIpGroups({
     *     name: "existing",
     *     resourceGroupName: "existing",
     * });
     * export const ids = example.then(example => example.ids);
     * ```
     * ```python
     * import pulumi
     * import pulumi_azure as azure
     * example = azure.network.get_ip_groups(name="existing",
     *     resource_group_name="existing")
     * pulumi.export("ids", example.ids)
     * ```
     * ```csharp
     * using System.Collections.Generic;
     * using System.Linq;
     * using Pulumi;
     * using Azure = Pulumi.Azure;
     * return await Deployment.RunAsync(() =>
     * {
     *     var example = Azure.Network.GetIpGroups.Invoke(new()
     *     {
     *         Name = "existing",
     *         ResourceGroupName = "existing",
     *     });
     *     return new Dictionary
     *     {
     *         ["ids"] = example.Apply(getIpGroupsResult => getIpGroupsResult.Ids),
     *     };
     * });
     * ```
     * ```go
     * package main
     * import (
     * 	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/network"
     * 	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
     * )
     * func main() {
     * 	pulumi.Run(func(ctx *pulumi.Context) error {
     * 		example, err := network.GetIpGroups(ctx, &network.GetIpGroupsArgs{
     * 			Name:              "existing",
     * 			ResourceGroupName: "existing",
     * 		}, nil)
     * 		if err != nil {
     * 			return err
     * 		}
     * 		ctx.Export("ids", example.Ids)
     * 		return nil
     * 	})
     * }
     * ```
     * ```java
     * package generated_program;
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.azure.network.NetworkFunctions;
     * import com.pulumi.azure.network.inputs.GetIpGroupsArgs;
     * 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 example = NetworkFunctions.getIpGroups(GetIpGroupsArgs.builder()
     *             .name("existing")
     *             .resourceGroupName("existing")
     *             .build());
     *         ctx.export("ids", example.applyValue(getIpGroupsResult -> getIpGroupsResult.ids()));
     *     }
     * }
     * ```
     * ```yaml
     * variables:
     *   example:
     *     fn::invoke:
     *       Function: azure:network:getIpGroups
     *       Arguments:
     *         name: existing
     *         resourceGroupName: existing
     * outputs:
     *   ids: ${example.ids}
     * ```
     * 
     * @param argument A collection of arguments for invoking getIpGroups.
     * @return A collection of values returned by getIpGroups.
     */
    @Deprecated(
        message = """
  azure.compute/getipgroups.getIpGroups has been deprecated in favor of
      azure.network/getipgroups.getIpGroups
  """,
    )
    public suspend fun getIpGroups(argument: GetIpGroupsPlainArgs): GetIpGroupsResult =
        getIpGroupsResultToKotlin(getIpGroupsPlain(argument.toJava()).await())

    /**
     * @see [getIpGroups].
     * @param name A substring to match some number of IP Groups.
     * @param resourceGroupName The name of the Resource Group where the IP Groups exist.
     * @return A collection of values returned by getIpGroups.
     */
    @Deprecated(
        message = """
  azure.compute/getipgroups.getIpGroups has been deprecated in favor of
      azure.network/getipgroups.getIpGroups
  """,
    )
    public suspend fun getIpGroups(name: String, resourceGroupName: String): GetIpGroupsResult {
        val argument = GetIpGroupsPlainArgs(
            name = name,
            resourceGroupName = resourceGroupName,
        )
        return getIpGroupsResultToKotlin(getIpGroupsPlain(argument.toJava()).await())
    }

    /**
     * @see [getIpGroups].
     * @param argument Builder for [com.pulumi.azure.compute.kotlin.inputs.GetIpGroupsPlainArgs].
     * @return A collection of values returned by getIpGroups.
     */
    @Deprecated(
        message = """
  azure.compute/getipgroups.getIpGroups has been deprecated in favor of
      azure.network/getipgroups.getIpGroups
  """,
    )
    public suspend fun getIpGroups(argument: suspend GetIpGroupsPlainArgsBuilder.() -> Unit): GetIpGroupsResult {
        val builder = GetIpGroupsPlainArgsBuilder()
        builder.argument()
        val builtArgument = builder.build()
        return getIpGroupsResultToKotlin(getIpGroupsPlain(builtArgument.toJava()).await())
    }

    /**
     * Use this data source to access information about an existing Managed Disk.
     * ## Example Usage
     * 
     * ```typescript
     * import * as pulumi from "@pulumi/pulumi";
     * import * as azure from "@pulumi/azure";
     * const existing = azure.compute.getManagedDisk({
     *     name: "example-datadisk",
     *     resourceGroupName: "example-resources",
     * });
     * export const id = existing.then(existing => existing.id);
     * ```
     * ```python
     * import pulumi
     * import pulumi_azure as azure
     * existing = azure.compute.get_managed_disk(name="example-datadisk",
     *     resource_group_name="example-resources")
     * pulumi.export("id", existing.id)
     * ```
     * ```csharp
     * using System.Collections.Generic;
     * using System.Linq;
     * using Pulumi;
     * using Azure = Pulumi.Azure;
     * return await Deployment.RunAsync(() =>
     * {
     *     var existing = Azure.Compute.GetManagedDisk.Invoke(new()
     *     {
     *         Name = "example-datadisk",
     *         ResourceGroupName = "example-resources",
     *     });
     *     return new Dictionary
     *     {
     *         ["id"] = existing.Apply(getManagedDiskResult => getManagedDiskResult.Id),
     *     };
     * });
     * ```
     * ```go
     * package main
     * import (
     * 	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/compute"
     * 	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
     * )
     * func main() {
     * 	pulumi.Run(func(ctx *pulumi.Context) error {
     * 		existing, err := compute.LookupManagedDisk(ctx, &compute.LookupManagedDiskArgs{
     * 			Name:              "example-datadisk",
     * 			ResourceGroupName: "example-resources",
     * 		}, nil)
     * 		if err != nil {
     * 			return err
     * 		}
     * 		ctx.Export("id", existing.Id)
     * 		return nil
     * 	})
     * }
     * ```
     * ```java
     * package generated_program;
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.azure.compute.ComputeFunctions;
     * import com.pulumi.azure.compute.inputs.GetManagedDiskArgs;
     * 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 existing = ComputeFunctions.getManagedDisk(GetManagedDiskArgs.builder()
     *             .name("example-datadisk")
     *             .resourceGroupName("example-resources")
     *             .build());
     *         ctx.export("id", existing.applyValue(getManagedDiskResult -> getManagedDiskResult.id()));
     *     }
     * }
     * ```
     * ```yaml
     * variables:
     *   existing:
     *     fn::invoke:
     *       Function: azure:compute:getManagedDisk
     *       Arguments:
     *         name: example-datadisk
     *         resourceGroupName: example-resources
     * outputs:
     *   id: ${existing.id}
     * ```
     * 
     * @param argument A collection of arguments for invoking getManagedDisk.
     * @return A collection of values returned by getManagedDisk.
     */
    public suspend fun getManagedDisk(argument: GetManagedDiskPlainArgs): GetManagedDiskResult =
        getManagedDiskResultToKotlin(getManagedDiskPlain(argument.toJava()).await())

    /**
     * @see [getManagedDisk].
     * @param name Specifies the name of the Managed Disk.
     * @param resourceGroupName Specifies the name of the Resource Group where this Managed Disk exists.
     * @return A collection of values returned by getManagedDisk.
     */
    public suspend fun getManagedDisk(name: String, resourceGroupName: String): GetManagedDiskResult {
        val argument = GetManagedDiskPlainArgs(
            name = name,
            resourceGroupName = resourceGroupName,
        )
        return getManagedDiskResultToKotlin(getManagedDiskPlain(argument.toJava()).await())
    }

    /**
     * @see [getManagedDisk].
     * @param argument Builder for [com.pulumi.azure.compute.kotlin.inputs.GetManagedDiskPlainArgs].
     * @return A collection of values returned by getManagedDisk.
     */
    public suspend fun getManagedDisk(argument: suspend GetManagedDiskPlainArgsBuilder.() -> Unit): GetManagedDiskResult {
        val builder = GetManagedDiskPlainArgsBuilder()
        builder.argument()
        val builtArgument = builder.build()
        return getManagedDiskResultToKotlin(getManagedDiskPlain(builtArgument.toJava()).await())
    }

    /**
     * Use this data source to access information about an existing Orchestrated Virtual Machine Scale Set.
     * ## Example Usage
     * 
     * ```typescript
     * import * as pulumi from "@pulumi/pulumi";
     * import * as azure from "@pulumi/azure";
     * const example = azure.compute.getOrchestratedVirtualMachineScaleSet({
     *     name: "existing",
     *     resourceGroupName: "existing",
     * });
     * export const id = example.then(example => example.id);
     * ```
     * ```python
     * import pulumi
     * import pulumi_azure as azure
     * example = azure.compute.get_orchestrated_virtual_machine_scale_set(name="existing",
     *     resource_group_name="existing")
     * pulumi.export("id", example.id)
     * ```
     * ```csharp
     * using System.Collections.Generic;
     * using System.Linq;
     * using Pulumi;
     * using Azure = Pulumi.Azure;
     * return await Deployment.RunAsync(() =>
     * {
     *     var example = Azure.Compute.GetOrchestratedVirtualMachineScaleSet.Invoke(new()
     *     {
     *         Name = "existing",
     *         ResourceGroupName = "existing",
     *     });
     *     return new Dictionary
     *     {
     *         ["id"] = example.Apply(getOrchestratedVirtualMachineScaleSetResult => getOrchestratedVirtualMachineScaleSetResult.Id),
     *     };
     * });
     * ```
     * ```go
     * package main
     * import (
     * 	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/compute"
     * 	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
     * )
     * func main() {
     * 	pulumi.Run(func(ctx *pulumi.Context) error {
     * 		example, err := compute.LookupOrchestratedVirtualMachineScaleSet(ctx, &compute.LookupOrchestratedVirtualMachineScaleSetArgs{
     * 			Name:              "existing",
     * 			ResourceGroupName: "existing",
     * 		}, nil)
     * 		if err != nil {
     * 			return err
     * 		}
     * 		ctx.Export("id", example.Id)
     * 		return nil
     * 	})
     * }
     * ```
     * ```java
     * package generated_program;
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.azure.compute.ComputeFunctions;
     * import com.pulumi.azure.compute.inputs.GetOrchestratedVirtualMachineScaleSetArgs;
     * 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 example = ComputeFunctions.getOrchestratedVirtualMachineScaleSet(GetOrchestratedVirtualMachineScaleSetArgs.builder()
     *             .name("existing")
     *             .resourceGroupName("existing")
     *             .build());
     *         ctx.export("id", example.applyValue(getOrchestratedVirtualMachineScaleSetResult -> getOrchestratedVirtualMachineScaleSetResult.id()));
     *     }
     * }
     * ```
     * ```yaml
     * variables:
     *   example:
     *     fn::invoke:
     *       Function: azure:compute:getOrchestratedVirtualMachineScaleSet
     *       Arguments:
     *         name: existing
     *         resourceGroupName: existing
     * outputs:
     *   id: ${example.id}
     * ```
     * 
     * @param argument A collection of arguments for invoking getOrchestratedVirtualMachineScaleSet.
     * @return A collection of values returned by getOrchestratedVirtualMachineScaleSet.
     */
    public suspend fun getOrchestratedVirtualMachineScaleSet(argument: GetOrchestratedVirtualMachineScaleSetPlainArgs): GetOrchestratedVirtualMachineScaleSetResult =
        getOrchestratedVirtualMachineScaleSetResultToKotlin(getOrchestratedVirtualMachineScaleSetPlain(argument.toJava()).await())

    /**
     * @see [getOrchestratedVirtualMachineScaleSet].
     * @param name The name of this Orchestrated Virtual Machine Scale Set.
     * @param resourceGroupName The name of the Resource Group where the Orchestrated Virtual Machine Scale Set exists.
     * @return A collection of values returned by getOrchestratedVirtualMachineScaleSet.
     */
    public suspend fun getOrchestratedVirtualMachineScaleSet(name: String, resourceGroupName: String): GetOrchestratedVirtualMachineScaleSetResult {
        val argument = GetOrchestratedVirtualMachineScaleSetPlainArgs(
            name = name,
            resourceGroupName = resourceGroupName,
        )
        return getOrchestratedVirtualMachineScaleSetResultToKotlin(getOrchestratedVirtualMachineScaleSetPlain(argument.toJava()).await())
    }

    /**
     * @see [getOrchestratedVirtualMachineScaleSet].
     * @param argument Builder for [com.pulumi.azure.compute.kotlin.inputs.GetOrchestratedVirtualMachineScaleSetPlainArgs].
     * @return A collection of values returned by getOrchestratedVirtualMachineScaleSet.
     */
    public suspend fun getOrchestratedVirtualMachineScaleSet(argument: suspend GetOrchestratedVirtualMachineScaleSetPlainArgsBuilder.() -> Unit): GetOrchestratedVirtualMachineScaleSetResult {
        val builder = GetOrchestratedVirtualMachineScaleSetPlainArgsBuilder()
        builder.argument()
        val builtArgument = builder.build()
        return getOrchestratedVirtualMachineScaleSetResultToKotlin(getOrchestratedVirtualMachineScaleSetPlain(builtArgument.toJava()).await())
    }

    /**
     * Use this data source to access information about a Platform Image.
     * ## Example Usage
     * 
     * ```typescript
     * import * as pulumi from "@pulumi/pulumi";
     * import * as azure from "@pulumi/azure";
     * const example = azure.compute.getPlatformImage({
     *     location: "West Europe",
     *     publisher: "Canonical",
     *     offer: "0001-com-ubuntu-server-focal",
     *     sku: "20_04-lts",
     * });
     * export const id = example.then(example => example.id);
     * ```
     * ```python
     * import pulumi
     * import pulumi_azure as azure
     * example = azure.compute.get_platform_image(location="West Europe",
     *     publisher="Canonical",
     *     offer="0001-com-ubuntu-server-focal",
     *     sku="20_04-lts")
     * pulumi.export("id", example.id)
     * ```
     * ```csharp
     * using System.Collections.Generic;
     * using System.Linq;
     * using Pulumi;
     * using Azure = Pulumi.Azure;
     * return await Deployment.RunAsync(() =>
     * {
     *     var example = Azure.Compute.GetPlatformImage.Invoke(new()
     *     {
     *         Location = "West Europe",
     *         Publisher = "Canonical",
     *         Offer = "0001-com-ubuntu-server-focal",
     *         Sku = "20_04-lts",
     *     });
     *     return new Dictionary
     *     {
     *         ["id"] = example.Apply(getPlatformImageResult => getPlatformImageResult.Id),
     *     };
     * });
     * ```
     * ```go
     * package main
     * import (
     * 	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/compute"
     * 	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
     * )
     * func main() {
     * 	pulumi.Run(func(ctx *pulumi.Context) error {
     * 		example, err := compute.GetPlatformImage(ctx, &compute.GetPlatformImageArgs{
     * 			Location:  "West Europe",
     * 			Publisher: "Canonical",
     * 			Offer:     "0001-com-ubuntu-server-focal",
     * 			Sku:       "20_04-lts",
     * 		}, nil)
     * 		if err != nil {
     * 			return err
     * 		}
     * 		ctx.Export("id", example.Id)
     * 		return nil
     * 	})
     * }
     * ```
     * ```java
     * package generated_program;
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.azure.compute.ComputeFunctions;
     * import com.pulumi.azure.compute.inputs.GetPlatformImageArgs;
     * 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 example = ComputeFunctions.getPlatformImage(GetPlatformImageArgs.builder()
     *             .location("West Europe")
     *             .publisher("Canonical")
     *             .offer("0001-com-ubuntu-server-focal")
     *             .sku("20_04-lts")
     *             .build());
     *         ctx.export("id", example.applyValue(getPlatformImageResult -> getPlatformImageResult.id()));
     *     }
     * }
     * ```
     * ```yaml
     * variables:
     *   example:
     *     fn::invoke:
     *       Function: azure:compute:getPlatformImage
     *       Arguments:
     *         location: West Europe
     *         publisher: Canonical
     *         offer: 0001-com-ubuntu-server-focal
     *         sku: 20_04-lts
     * outputs:
     *   id: ${example.id}
     * ```
     * 
     * @param argument A collection of arguments for invoking getPlatformImage.
     * @return A collection of values returned by getPlatformImage.
     */
    public suspend fun getPlatformImage(argument: GetPlatformImagePlainArgs): GetPlatformImageResult =
        getPlatformImageResultToKotlin(getPlatformImagePlain(argument.toJava()).await())

    /**
     * @see [getPlatformImage].
     * @param location Specifies the Location to pull information about this Platform Image from.
     * @param offer Specifies the Offer associated with the Platform Image.
     * @param publisher Specifies the Publisher associated with the Platform Image.
     * @param sku Specifies the SKU of the Platform Image.
     * @param version The version of the Platform Image.
     * @return A collection of values returned by getPlatformImage.
     */
    public suspend fun getPlatformImage(
        location: String,
        offer: String,
        publisher: String,
        sku: String,
        version: String? = null,
    ): GetPlatformImageResult {
        val argument = GetPlatformImagePlainArgs(
            location = location,
            offer = offer,
            publisher = publisher,
            sku = sku,
            version = version,
        )
        return getPlatformImageResultToKotlin(getPlatformImagePlain(argument.toJava()).await())
    }

    /**
     * @see [getPlatformImage].
     * @param argument Builder for [com.pulumi.azure.compute.kotlin.inputs.GetPlatformImagePlainArgs].
     * @return A collection of values returned by getPlatformImage.
     */
    public suspend fun getPlatformImage(argument: suspend GetPlatformImagePlainArgsBuilder.() -> Unit): GetPlatformImageResult {
        val builder = GetPlatformImagePlainArgsBuilder()
        builder.argument()
        val builtArgument = builder.build()
        return getPlatformImageResultToKotlin(getPlatformImagePlain(builtArgument.toJava()).await())
    }

    /**
     * Use this data source to access information about an existing Shared Image within a Shared Image Gallery.
     * ## Example Usage
     * 
     * ```typescript
     * import * as pulumi from "@pulumi/pulumi";
     * import * as azure from "@pulumi/azure";
     * const example = azure.compute.getSharedImage({
     *     name: "my-image",
     *     galleryName: "my-image-gallery",
     *     resourceGroupName: "example-resources",
     * });
     * ```
     * ```python
     * import pulumi
     * import pulumi_azure as azure
     * example = azure.compute.get_shared_image(name="my-image",
     *     gallery_name="my-image-gallery",
     *     resource_group_name="example-resources")
     * ```
     * ```csharp
     * using System.Collections.Generic;
     * using System.Linq;
     * using Pulumi;
     * using Azure = Pulumi.Azure;
     * return await Deployment.RunAsync(() =>
     * {
     *     var example = Azure.Compute.GetSharedImage.Invoke(new()
     *     {
     *         Name = "my-image",
     *         GalleryName = "my-image-gallery",
     *         ResourceGroupName = "example-resources",
     *     });
     * });
     * ```
     * ```go
     * package main
     * import (
     * 	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/compute"
     * 	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
     * )
     * func main() {
     * 	pulumi.Run(func(ctx *pulumi.Context) error {
     * 		_, err := compute.LookupSharedImage(ctx, &compute.LookupSharedImageArgs{
     * 			Name:              "my-image",
     * 			GalleryName:       "my-image-gallery",
     * 			ResourceGroupName: "example-resources",
     * 		}, nil)
     * 		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.azure.compute.ComputeFunctions;
     * import com.pulumi.azure.compute.inputs.GetSharedImageArgs;
     * 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 example = ComputeFunctions.getSharedImage(GetSharedImageArgs.builder()
     *             .name("my-image")
     *             .galleryName("my-image-gallery")
     *             .resourceGroupName("example-resources")
     *             .build());
     *     }
     * }
     * ```
     * ```yaml
     * variables:
     *   example:
     *     fn::invoke:
     *       Function: azure:compute:getSharedImage
     *       Arguments:
     *         name: my-image
     *         galleryName: my-image-gallery
     *         resourceGroupName: example-resources
     * ```
     * 
     * @param argument A collection of arguments for invoking getSharedImage.
     * @return A collection of values returned by getSharedImage.
     */
    public suspend fun getSharedImage(argument: GetSharedImagePlainArgs): GetSharedImageResult =
        getSharedImageResultToKotlin(getSharedImagePlain(argument.toJava()).await())

    /**
     * @see [getSharedImage].
     * @param galleryName The name of the Shared Image Gallery in which the Shared Image exists.
     * @param name The name of the Shared Image.
     * @param resourceGroupName The name of the Resource Group in which the Shared Image Gallery exists.
     * @return A collection of values returned by getSharedImage.
     */
    public suspend fun getSharedImage(
        galleryName: String,
        name: String,
        resourceGroupName: String,
    ): GetSharedImageResult {
        val argument = GetSharedImagePlainArgs(
            galleryName = galleryName,
            name = name,
            resourceGroupName = resourceGroupName,
        )
        return getSharedImageResultToKotlin(getSharedImagePlain(argument.toJava()).await())
    }

    /**
     * @see [getSharedImage].
     * @param argument Builder for [com.pulumi.azure.compute.kotlin.inputs.GetSharedImagePlainArgs].
     * @return A collection of values returned by getSharedImage.
     */
    public suspend fun getSharedImage(argument: suspend GetSharedImagePlainArgsBuilder.() -> Unit): GetSharedImageResult {
        val builder = GetSharedImagePlainArgsBuilder()
        builder.argument()
        val builtArgument = builder.build()
        return getSharedImageResultToKotlin(getSharedImagePlain(builtArgument.toJava()).await())
    }

    /**
     * Use this data source to access information about an existing Shared Image Gallery.
     * ## Example Usage
     * 
     * ```typescript
     * import * as pulumi from "@pulumi/pulumi";
     * import * as azure from "@pulumi/azure";
     * const example = azure.compute.getSharedImageGallery({
     *     name: "my-image-gallery",
     *     resourceGroupName: "example-resources",
     * });
     * ```
     * ```python
     * import pulumi
     * import pulumi_azure as azure
     * example = azure.compute.get_shared_image_gallery(name="my-image-gallery",
     *     resource_group_name="example-resources")
     * ```
     * ```csharp
     * using System.Collections.Generic;
     * using System.Linq;
     * using Pulumi;
     * using Azure = Pulumi.Azure;
     * return await Deployment.RunAsync(() =>
     * {
     *     var example = Azure.Compute.GetSharedImageGallery.Invoke(new()
     *     {
     *         Name = "my-image-gallery",
     *         ResourceGroupName = "example-resources",
     *     });
     * });
     * ```
     * ```go
     * package main
     * import (
     * 	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/compute"
     * 	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
     * )
     * func main() {
     * 	pulumi.Run(func(ctx *pulumi.Context) error {
     * 		_, err := compute.LookupSharedImageGallery(ctx, &compute.LookupSharedImageGalleryArgs{
     * 			Name:              "my-image-gallery",
     * 			ResourceGroupName: "example-resources",
     * 		}, nil)
     * 		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.azure.compute.ComputeFunctions;
     * import com.pulumi.azure.compute.inputs.GetSharedImageGalleryArgs;
     * 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 example = ComputeFunctions.getSharedImageGallery(GetSharedImageGalleryArgs.builder()
     *             .name("my-image-gallery")
     *             .resourceGroupName("example-resources")
     *             .build());
     *     }
     * }
     * ```
     * ```yaml
     * variables:
     *   example:
     *     fn::invoke:
     *       Function: azure:compute:getSharedImageGallery
     *       Arguments:
     *         name: my-image-gallery
     *         resourceGroupName: example-resources
     * ```
     * 
     * @param argument A collection of arguments for invoking getSharedImageGallery.
     * @return A collection of values returned by getSharedImageGallery.
     */
    public suspend fun getSharedImageGallery(argument: GetSharedImageGalleryPlainArgs): GetSharedImageGalleryResult =
        getSharedImageGalleryResultToKotlin(getSharedImageGalleryPlain(argument.toJava()).await())

    /**
     * @see [getSharedImageGallery].
     * @param name The name of the Shared Image Gallery.
     * @param resourceGroupName The name of the Resource Group in which the Shared Image Gallery exists.
     * @return A collection of values returned by getSharedImageGallery.
     */
    public suspend fun getSharedImageGallery(name: String, resourceGroupName: String): GetSharedImageGalleryResult {
        val argument = GetSharedImageGalleryPlainArgs(
            name = name,
            resourceGroupName = resourceGroupName,
        )
        return getSharedImageGalleryResultToKotlin(getSharedImageGalleryPlain(argument.toJava()).await())
    }

    /**
     * @see [getSharedImageGallery].
     * @param argument Builder for [com.pulumi.azure.compute.kotlin.inputs.GetSharedImageGalleryPlainArgs].
     * @return A collection of values returned by getSharedImageGallery.
     */
    public suspend fun getSharedImageGallery(argument: suspend GetSharedImageGalleryPlainArgsBuilder.() -> Unit): GetSharedImageGalleryResult {
        val builder = GetSharedImageGalleryPlainArgsBuilder()
        builder.argument()
        val builtArgument = builder.build()
        return getSharedImageGalleryResultToKotlin(getSharedImageGalleryPlain(builtArgument.toJava()).await())
    }

    /**
     * Use this data source to access information about an existing 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 example = azure.compute.getSharedImageVersion({
     *     name: "1.0.0",
     *     imageName: "my-image",
     *     galleryName: "my-image-gallery",
     *     resourceGroupName: "example-resources",
     * });
     * ```
     * ```python
     * import pulumi
     * import pulumi_azure as azure
     * example = azure.compute.get_shared_image_version(name="1.0.0",
     *     image_name="my-image",
     *     gallery_name="my-image-gallery",
     *     resource_group_name="example-resources")
     * ```
     * ```csharp
     * using System.Collections.Generic;
     * using System.Linq;
     * using Pulumi;
     * using Azure = Pulumi.Azure;
     * return await Deployment.RunAsync(() =>
     * {
     *     var example = Azure.Compute.GetSharedImageVersion.Invoke(new()
     *     {
     *         Name = "1.0.0",
     *         ImageName = "my-image",
     *         GalleryName = "my-image-gallery",
     *         ResourceGroupName = "example-resources",
     *     });
     * });
     * ```
     * ```go
     * package main
     * import (
     * 	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/compute"
     * 	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
     * )
     * func main() {
     * 	pulumi.Run(func(ctx *pulumi.Context) error {
     * 		_, err := compute.LookupSharedImageVersion(ctx, &compute.LookupSharedImageVersionArgs{
     * 			Name:              "1.0.0",
     * 			ImageName:         "my-image",
     * 			GalleryName:       "my-image-gallery",
     * 			ResourceGroupName: "example-resources",
     * 		}, nil)
     * 		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.azure.compute.ComputeFunctions;
     * import com.pulumi.azure.compute.inputs.GetSharedImageVersionArgs;
     * 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 example = ComputeFunctions.getSharedImageVersion(GetSharedImageVersionArgs.builder()
     *             .name("1.0.0")
     *             .imageName("my-image")
     *             .galleryName("my-image-gallery")
     *             .resourceGroupName("example-resources")
     *             .build());
     *     }
     * }
     * ```
     * ```yaml
     * variables:
     *   example:
     *     fn::invoke:
     *       Function: azure:compute:getSharedImageVersion
     *       Arguments:
     *         name: 1.0.0
     *         imageName: my-image
     *         galleryName: my-image-gallery
     *         resourceGroupName: example-resources
     * ```
     * 
     * @param argument A collection of arguments for invoking getSharedImageVersion.
     * @return A collection of values returned by getSharedImageVersion.
     */
    public suspend fun getSharedImageVersion(argument: GetSharedImageVersionPlainArgs): GetSharedImageVersionResult =
        getSharedImageVersionResultToKotlin(getSharedImageVersionPlain(argument.toJava()).await())

    /**
     * @see [getSharedImageVersion].
     * @param galleryName The name of the Shared Image Gallery in which the Shared Image exists.
     * @param imageName The name of the Shared Image in which this Version exists.
     * @param name The name of the Image Version.
     * > **Note:** You may specify `latest` to obtain the latest version or `recent` to obtain the most recently updated version.
     * > **Note:** In 3.0, `latest` may return an image version with `exclude_from_latest` set to `true`. Starting from 4.0 onwards `latest` will not return image versions with `exlude_from_latest` set to `true`.
     * @param resourceGroupName The name of the Resource Group in which the Shared Image Gallery exists.
     * @param sortVersionsBySemver Sort available versions taking SemVer versioning scheme into account. Defaults to `false`.
     * @param tags A mapping of tags assigned to the Shared Image.
     * @return A collection of values returned by getSharedImageVersion.
     */
    public suspend fun getSharedImageVersion(
        galleryName: String,
        imageName: String,
        name: String,
        resourceGroupName: String,
        sortVersionsBySemver: Boolean? = null,
        tags: Map? = null,
    ): GetSharedImageVersionResult {
        val argument = GetSharedImageVersionPlainArgs(
            galleryName = galleryName,
            imageName = imageName,
            name = name,
            resourceGroupName = resourceGroupName,
            sortVersionsBySemver = sortVersionsBySemver,
            tags = tags,
        )
        return getSharedImageVersionResultToKotlin(getSharedImageVersionPlain(argument.toJava()).await())
    }

    /**
     * @see [getSharedImageVersion].
     * @param argument Builder for [com.pulumi.azure.compute.kotlin.inputs.GetSharedImageVersionPlainArgs].
     * @return A collection of values returned by getSharedImageVersion.
     */
    public suspend fun getSharedImageVersion(argument: suspend GetSharedImageVersionPlainArgsBuilder.() -> Unit): GetSharedImageVersionResult {
        val builder = GetSharedImageVersionPlainArgsBuilder()
        builder.argument()
        val builtArgument = builder.build()
        return getSharedImageVersionResultToKotlin(getSharedImageVersionPlain(builtArgument.toJava()).await())
    }

    /**
     * Use this data source to access information about existing Versions 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 example = azure.compute.getSharedImageVersions({
     *     imageName: "my-image",
     *     galleryName: "my-image-gallery",
     *     resourceGroupName: "example-resources",
     * });
     * ```
     * ```python
     * import pulumi
     * import pulumi_azure as azure
     * example = azure.compute.get_shared_image_versions(image_name="my-image",
     *     gallery_name="my-image-gallery",
     *     resource_group_name="example-resources")
     * ```
     * ```csharp
     * using System.Collections.Generic;
     * using System.Linq;
     * using Pulumi;
     * using Azure = Pulumi.Azure;
     * return await Deployment.RunAsync(() =>
     * {
     *     var example = Azure.Compute.GetSharedImageVersions.Invoke(new()
     *     {
     *         ImageName = "my-image",
     *         GalleryName = "my-image-gallery",
     *         ResourceGroupName = "example-resources",
     *     });
     * });
     * ```
     * ```go
     * package main
     * import (
     * 	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/compute"
     * 	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
     * )
     * func main() {
     * 	pulumi.Run(func(ctx *pulumi.Context) error {
     * 		_, err := compute.GetSharedImageVersions(ctx, &compute.GetSharedImageVersionsArgs{
     * 			ImageName:         "my-image",
     * 			GalleryName:       "my-image-gallery",
     * 			ResourceGroupName: "example-resources",
     * 		}, nil)
     * 		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.azure.compute.ComputeFunctions;
     * import com.pulumi.azure.compute.inputs.GetSharedImageVersionsArgs;
     * 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 example = ComputeFunctions.getSharedImageVersions(GetSharedImageVersionsArgs.builder()
     *             .imageName("my-image")
     *             .galleryName("my-image-gallery")
     *             .resourceGroupName("example-resources")
     *             .build());
     *     }
     * }
     * ```
     * ```yaml
     * variables:
     *   example:
     *     fn::invoke:
     *       Function: azure:compute:getSharedImageVersions
     *       Arguments:
     *         imageName: my-image
     *         galleryName: my-image-gallery
     *         resourceGroupName: example-resources
     * ```
     * 
     * @param argument A collection of arguments for invoking getSharedImageVersions.
     * @return A collection of values returned by getSharedImageVersions.
     */
    public suspend fun getSharedImageVersions(argument: GetSharedImageVersionsPlainArgs): GetSharedImageVersionsResult =
        getSharedImageVersionsResultToKotlin(getSharedImageVersionsPlain(argument.toJava()).await())

    /**
     * @see [getSharedImageVersions].
     * @param galleryName The name of the Shared Image in which the Shared Image exists.
     * @param imageName The name of the Shared Image in which this Version exists.
     * @param resourceGroupName The name of the Resource Group in which the Shared Image Gallery exists.
     * @param tagsFilter A mapping of tags to filter the list of images against.
     * @return A collection of values returned by getSharedImageVersions.
     */
    public suspend fun getSharedImageVersions(
        galleryName: String,
        imageName: String,
        resourceGroupName: String,
        tagsFilter: Map? = null,
    ): GetSharedImageVersionsResult {
        val argument = GetSharedImageVersionsPlainArgs(
            galleryName = galleryName,
            imageName = imageName,
            resourceGroupName = resourceGroupName,
            tagsFilter = tagsFilter,
        )
        return getSharedImageVersionsResultToKotlin(getSharedImageVersionsPlain(argument.toJava()).await())
    }

    /**
     * @see [getSharedImageVersions].
     * @param argument Builder for [com.pulumi.azure.compute.kotlin.inputs.GetSharedImageVersionsPlainArgs].
     * @return A collection of values returned by getSharedImageVersions.
     */
    public suspend fun getSharedImageVersions(argument: suspend GetSharedImageVersionsPlainArgsBuilder.() -> Unit): GetSharedImageVersionsResult {
        val builder = GetSharedImageVersionsPlainArgsBuilder()
        builder.argument()
        val builtArgument = builder.build()
        return getSharedImageVersionsResultToKotlin(getSharedImageVersionsPlain(builtArgument.toJava()).await())
    }

    /**
     * Use this data source to access information about an existing Snapshot.
     * ## Example Usage
     * 
     * ```typescript
     * import * as pulumi from "@pulumi/pulumi";
     * import * as azure from "@pulumi/azure";
     * const example = azure.compute.getSnapshot({
     *     name: "my-snapshot",
     *     resourceGroupName: "my-resource-group",
     * });
     * ```
     * ```python
     * import pulumi
     * import pulumi_azure as azure
     * example = azure.compute.get_snapshot(name="my-snapshot",
     *     resource_group_name="my-resource-group")
     * ```
     * ```csharp
     * using System.Collections.Generic;
     * using System.Linq;
     * using Pulumi;
     * using Azure = Pulumi.Azure;
     * return await Deployment.RunAsync(() =>
     * {
     *     var example = Azure.Compute.GetSnapshot.Invoke(new()
     *     {
     *         Name = "my-snapshot",
     *         ResourceGroupName = "my-resource-group",
     *     });
     * });
     * ```
     * ```go
     * package main
     * import (
     * 	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/compute"
     * 	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
     * )
     * func main() {
     * 	pulumi.Run(func(ctx *pulumi.Context) error {
     * 		_, err := compute.LookupSnapshot(ctx, &compute.LookupSnapshotArgs{
     * 			Name:              "my-snapshot",
     * 			ResourceGroupName: "my-resource-group",
     * 		}, nil)
     * 		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.azure.compute.ComputeFunctions;
     * import com.pulumi.azure.compute.inputs.GetSnapshotArgs;
     * 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 example = ComputeFunctions.getSnapshot(GetSnapshotArgs.builder()
     *             .name("my-snapshot")
     *             .resourceGroupName("my-resource-group")
     *             .build());
     *     }
     * }
     * ```
     * ```yaml
     * variables:
     *   example:
     *     fn::invoke:
     *       Function: azure:compute:getSnapshot
     *       Arguments:
     *         name: my-snapshot
     *         resourceGroupName: my-resource-group
     * ```
     * 
     * @param argument A collection of arguments for invoking getSnapshot.
     * @return A collection of values returned by getSnapshot.
     */
    public suspend fun getSnapshot(argument: GetSnapshotPlainArgs): GetSnapshotResult =
        getSnapshotResultToKotlin(getSnapshotPlain(argument.toJava()).await())

    /**
     * @see [getSnapshot].
     * @param name Specifies the name of the Snapshot.
     * @param resourceGroupName Specifies the name of the resource group the Snapshot is located in.
     * @return A collection of values returned by getSnapshot.
     */
    public suspend fun getSnapshot(name: String, resourceGroupName: String): GetSnapshotResult {
        val argument = GetSnapshotPlainArgs(
            name = name,
            resourceGroupName = resourceGroupName,
        )
        return getSnapshotResultToKotlin(getSnapshotPlain(argument.toJava()).await())
    }

    /**
     * @see [getSnapshot].
     * @param argument Builder for [com.pulumi.azure.compute.kotlin.inputs.GetSnapshotPlainArgs].
     * @return A collection of values returned by getSnapshot.
     */
    public suspend fun getSnapshot(argument: suspend GetSnapshotPlainArgsBuilder.() -> Unit): GetSnapshotResult {
        val builder = GetSnapshotPlainArgsBuilder()
        builder.argument()
        val builtArgument = builder.build()
        return getSnapshotResultToKotlin(getSnapshotPlain(builtArgument.toJava()).await())
    }

    /**
     * Use this data source to access information about an existing SSH Public Key.
     * ## Example Usage
     * 
     * ```typescript
     * import * as pulumi from "@pulumi/pulumi";
     * import * as azure from "@pulumi/azure";
     * const example = azure.compute.getSshPublicKey({
     *     name: "existing",
     *     resourceGroupName: "existing",
     * });
     * export const id = example.then(example => example.id);
     * ```
     * ```python
     * import pulumi
     * import pulumi_azure as azure
     * example = azure.compute.get_ssh_public_key(name="existing",
     *     resource_group_name="existing")
     * pulumi.export("id", example.id)
     * ```
     * ```csharp
     * using System.Collections.Generic;
     * using System.Linq;
     * using Pulumi;
     * using Azure = Pulumi.Azure;
     * return await Deployment.RunAsync(() =>
     * {
     *     var example = Azure.Compute.GetSshPublicKey.Invoke(new()
     *     {
     *         Name = "existing",
     *         ResourceGroupName = "existing",
     *     });
     *     return new Dictionary
     *     {
     *         ["id"] = example.Apply(getSshPublicKeyResult => getSshPublicKeyResult.Id),
     *     };
     * });
     * ```
     * ```go
     * package main
     * import (
     * 	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/compute"
     * 	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
     * )
     * func main() {
     * 	pulumi.Run(func(ctx *pulumi.Context) error {
     * 		example, err := compute.LookupSshPublicKey(ctx, &compute.LookupSshPublicKeyArgs{
     * 			Name:              "existing",
     * 			ResourceGroupName: "existing",
     * 		}, nil)
     * 		if err != nil {
     * 			return err
     * 		}
     * 		ctx.Export("id", example.Id)
     * 		return nil
     * 	})
     * }
     * ```
     * ```java
     * package generated_program;
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.azure.compute.ComputeFunctions;
     * import com.pulumi.azure.compute.inputs.GetSshPublicKeyArgs;
     * 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 example = ComputeFunctions.getSshPublicKey(GetSshPublicKeyArgs.builder()
     *             .name("existing")
     *             .resourceGroupName("existing")
     *             .build());
     *         ctx.export("id", example.applyValue(getSshPublicKeyResult -> getSshPublicKeyResult.id()));
     *     }
     * }
     * ```
     * ```yaml
     * variables:
     *   example:
     *     fn::invoke:
     *       Function: azure:compute:getSshPublicKey
     *       Arguments:
     *         name: existing
     *         resourceGroupName: existing
     * outputs:
     *   id: ${example.id}
     * ```
     * 
     * @param argument A collection of arguments for invoking getSshPublicKey.
     * @return A collection of values returned by getSshPublicKey.
     */
    public suspend fun getSshPublicKey(argument: GetSshPublicKeyPlainArgs): GetSshPublicKeyResult =
        getSshPublicKeyResultToKotlin(getSshPublicKeyPlain(argument.toJava()).await())

    /**
     * @see [getSshPublicKey].
     * @param name The name of this SSH Public Key.
     * @param resourceGroupName The name of the Resource Group where the SSH Public Key exists.
     * @param tags A mapping of tags which should be assigned to the SSH Public Key.
     * @return A collection of values returned by getSshPublicKey.
     */
    public suspend fun getSshPublicKey(
        name: String,
        resourceGroupName: String,
        tags: Map? = null,
    ): GetSshPublicKeyResult {
        val argument = GetSshPublicKeyPlainArgs(
            name = name,
            resourceGroupName = resourceGroupName,
            tags = tags,
        )
        return getSshPublicKeyResultToKotlin(getSshPublicKeyPlain(argument.toJava()).await())
    }

    /**
     * @see [getSshPublicKey].
     * @param argument Builder for [com.pulumi.azure.compute.kotlin.inputs.GetSshPublicKeyPlainArgs].
     * @return A collection of values returned by getSshPublicKey.
     */
    public suspend fun getSshPublicKey(argument: suspend GetSshPublicKeyPlainArgsBuilder.() -> Unit): GetSshPublicKeyResult {
        val builder = GetSshPublicKeyPlainArgsBuilder()
        builder.argument()
        val builtArgument = builder.build()
        return getSshPublicKeyResultToKotlin(getSshPublicKeyPlain(builtArgument.toJava()).await())
    }

    /**
     * Use this data source to access information about an existing Virtual Machine.
     * ## Example Usage
     * 
     * ```typescript
     * import * as pulumi from "@pulumi/pulumi";
     * import * as azure from "@pulumi/azure";
     * const example = azure.compute.getVirtualMachine({
     *     name: "production",
     *     resourceGroupName: "networking",
     * });
     * export const virtualMachineId = example.then(example => example.id);
     * ```
     * ```python
     * import pulumi
     * import pulumi_azure as azure
     * example = azure.compute.get_virtual_machine(name="production",
     *     resource_group_name="networking")
     * pulumi.export("virtualMachineId", example.id)
     * ```
     * ```csharp
     * using System.Collections.Generic;
     * using System.Linq;
     * using Pulumi;
     * using Azure = Pulumi.Azure;
     * return await Deployment.RunAsync(() =>
     * {
     *     var example = Azure.Compute.GetVirtualMachine.Invoke(new()
     *     {
     *         Name = "production",
     *         ResourceGroupName = "networking",
     *     });
     *     return new Dictionary
     *     {
     *         ["virtualMachineId"] = example.Apply(getVirtualMachineResult => getVirtualMachineResult.Id),
     *     };
     * });
     * ```
     * ```go
     * package main
     * import (
     * 	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/compute"
     * 	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
     * )
     * func main() {
     * 	pulumi.Run(func(ctx *pulumi.Context) error {
     * 		example, err := compute.LookupVirtualMachine(ctx, &compute.LookupVirtualMachineArgs{
     * 			Name:              "production",
     * 			ResourceGroupName: "networking",
     * 		}, nil)
     * 		if err != nil {
     * 			return err
     * 		}
     * 		ctx.Export("virtualMachineId", example.Id)
     * 		return nil
     * 	})
     * }
     * ```
     * ```java
     * package generated_program;
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.azure.compute.ComputeFunctions;
     * import com.pulumi.azure.compute.inputs.GetVirtualMachineArgs;
     * 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 example = ComputeFunctions.getVirtualMachine(GetVirtualMachineArgs.builder()
     *             .name("production")
     *             .resourceGroupName("networking")
     *             .build());
     *         ctx.export("virtualMachineId", example.applyValue(getVirtualMachineResult -> getVirtualMachineResult.id()));
     *     }
     * }
     * ```
     * ```yaml
     * variables:
     *   example:
     *     fn::invoke:
     *       Function: azure:compute:getVirtualMachine
     *       Arguments:
     *         name: production
     *         resourceGroupName: networking
     * outputs:
     *   virtualMachineId: ${example.id}
     * ```
     * 
     * @param argument A collection of arguments for invoking getVirtualMachine.
     * @return A collection of values returned by getVirtualMachine.
     */
    public suspend fun getVirtualMachine(argument: GetVirtualMachinePlainArgs): GetVirtualMachineResult =
        getVirtualMachineResultToKotlin(getVirtualMachinePlain(argument.toJava()).await())

    /**
     * @see [getVirtualMachine].
     * @param name Specifies the name of the Virtual Machine.
     * @param resourceGroupName Specifies the name of the resource group the Virtual Machine is located in.
     * @return A collection of values returned by getVirtualMachine.
     */
    public suspend fun getVirtualMachine(name: String, resourceGroupName: String): GetVirtualMachineResult {
        val argument = GetVirtualMachinePlainArgs(
            name = name,
            resourceGroupName = resourceGroupName,
        )
        return getVirtualMachineResultToKotlin(getVirtualMachinePlain(argument.toJava()).await())
    }

    /**
     * @see [getVirtualMachine].
     * @param argument Builder for [com.pulumi.azure.compute.kotlin.inputs.GetVirtualMachinePlainArgs].
     * @return A collection of values returned by getVirtualMachine.
     */
    public suspend fun getVirtualMachine(argument: suspend GetVirtualMachinePlainArgsBuilder.() -> Unit): GetVirtualMachineResult {
        val builder = GetVirtualMachinePlainArgsBuilder()
        builder.argument()
        val builtArgument = builder.build()
        return getVirtualMachineResultToKotlin(getVirtualMachinePlain(builtArgument.toJava()).await())
    }

    /**
     * Use this data source to access information about an existing Virtual Machine Scale Set.
     * ## Example Usage
     * 
     * ```typescript
     * import * as pulumi from "@pulumi/pulumi";
     * import * as azure from "@pulumi/azure";
     * const example = azure.compute.getVirtualMachineScaleSet({
     *     name: "existing",
     *     resourceGroupName: "existing",
     * });
     * export const id = example.then(example => example.id);
     * ```
     * ```python
     * import pulumi
     * import pulumi_azure as azure
     * example = azure.compute.get_virtual_machine_scale_set(name="existing",
     *     resource_group_name="existing")
     * pulumi.export("id", example.id)
     * ```
     * ```csharp
     * using System.Collections.Generic;
     * using System.Linq;
     * using Pulumi;
     * using Azure = Pulumi.Azure;
     * return await Deployment.RunAsync(() =>
     * {
     *     var example = Azure.Compute.GetVirtualMachineScaleSet.Invoke(new()
     *     {
     *         Name = "existing",
     *         ResourceGroupName = "existing",
     *     });
     *     return new Dictionary
     *     {
     *         ["id"] = example.Apply(getVirtualMachineScaleSetResult => getVirtualMachineScaleSetResult.Id),
     *     };
     * });
     * ```
     * ```go
     * package main
     * import (
     * 	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/compute"
     * 	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
     * )
     * func main() {
     * 	pulumi.Run(func(ctx *pulumi.Context) error {
     * 		example, err := compute.GetVirtualMachineScaleSet(ctx, &compute.GetVirtualMachineScaleSetArgs{
     * 			Name:              "existing",
     * 			ResourceGroupName: "existing",
     * 		}, nil)
     * 		if err != nil {
     * 			return err
     * 		}
     * 		ctx.Export("id", example.Id)
     * 		return nil
     * 	})
     * }
     * ```
     * ```java
     * package generated_program;
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.azure.compute.ComputeFunctions;
     * import com.pulumi.azure.compute.inputs.GetVirtualMachineScaleSetArgs;
     * 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 example = ComputeFunctions.getVirtualMachineScaleSet(GetVirtualMachineScaleSetArgs.builder()
     *             .name("existing")
     *             .resourceGroupName("existing")
     *             .build());
     *         ctx.export("id", example.applyValue(getVirtualMachineScaleSetResult -> getVirtualMachineScaleSetResult.id()));
     *     }
     * }
     * ```
     * ```yaml
     * variables:
     *   example:
     *     fn::invoke:
     *       Function: azure:compute:getVirtualMachineScaleSet
     *       Arguments:
     *         name: existing
     *         resourceGroupName: existing
     * outputs:
     *   id: ${example.id}
     * ```
     * 
     * @param argument A collection of arguments for invoking getVirtualMachineScaleSet.
     * @return A collection of values returned by getVirtualMachineScaleSet.
     */
    public suspend fun getVirtualMachineScaleSet(argument: GetVirtualMachineScaleSetPlainArgs): GetVirtualMachineScaleSetResult =
        getVirtualMachineScaleSetResultToKotlin(getVirtualMachineScaleSetPlain(argument.toJava()).await())

    /**
     * @see [getVirtualMachineScaleSet].
     * @param name The name of this Virtual Machine Scale Set.
     * @param resourceGroupName The name of the Resource Group where the Virtual Machine Scale Set exists.
     * @return A collection of values returned by getVirtualMachineScaleSet.
     */
    public suspend fun getVirtualMachineScaleSet(name: String, resourceGroupName: String): GetVirtualMachineScaleSetResult {
        val argument = GetVirtualMachineScaleSetPlainArgs(
            name = name,
            resourceGroupName = resourceGroupName,
        )
        return getVirtualMachineScaleSetResultToKotlin(getVirtualMachineScaleSetPlain(argument.toJava()).await())
    }

    /**
     * @see [getVirtualMachineScaleSet].
     * @param argument Builder for [com.pulumi.azure.compute.kotlin.inputs.GetVirtualMachineScaleSetPlainArgs].
     * @return A collection of values returned by getVirtualMachineScaleSet.
     */
    public suspend fun getVirtualMachineScaleSet(argument: suspend GetVirtualMachineScaleSetPlainArgsBuilder.() -> Unit): GetVirtualMachineScaleSetResult {
        val builder = GetVirtualMachineScaleSetPlainArgsBuilder()
        builder.argument()
        val builtArgument = builder.build()
        return getVirtualMachineScaleSetResultToKotlin(getVirtualMachineScaleSetPlain(builtArgument.toJava()).await())
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy