// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***

package com.pulumi.azure.core;

import com.pulumi.azure.Utilities;
import com.pulumi.azure.core.inputs.GetExtendedLocationsArgs;
import com.pulumi.azure.core.inputs.GetExtendedLocationsPlainArgs;
import com.pulumi.azure.core.inputs.GetResourceGroupArgs;
import com.pulumi.azure.core.inputs.GetResourceGroupPlainArgs;
import com.pulumi.azure.core.inputs.GetResourceGroupTemplateDeploymentArgs;
import com.pulumi.azure.core.inputs.GetResourceGroupTemplateDeploymentPlainArgs;
import com.pulumi.azure.core.inputs.GetResourcesArgs;
import com.pulumi.azure.core.inputs.GetResourcesPlainArgs;
import com.pulumi.azure.core.inputs.GetSubscriptionArgs;
import com.pulumi.azure.core.inputs.GetSubscriptionPlainArgs;
import com.pulumi.azure.core.inputs.GetSubscriptionTemplateDeploymentArgs;
import com.pulumi.azure.core.inputs.GetSubscriptionTemplateDeploymentPlainArgs;
import com.pulumi.azure.core.inputs.GetSubscriptionsArgs;
import com.pulumi.azure.core.inputs.GetSubscriptionsPlainArgs;
import com.pulumi.azure.core.inputs.GetTemplateSpecVersionArgs;
import com.pulumi.azure.core.inputs.GetTemplateSpecVersionPlainArgs;
import com.pulumi.azure.core.inputs.GetTenantTemplateDeploymentArgs;
import com.pulumi.azure.core.inputs.GetTenantTemplateDeploymentPlainArgs;
import com.pulumi.azure.core.inputs.GetUserAssignedIdentityArgs;
import com.pulumi.azure.core.inputs.GetUserAssignedIdentityPlainArgs;
import com.pulumi.azure.core.outputs.GetClientConfigResult;
import com.pulumi.azure.core.outputs.GetExtendedLocationsResult;
import com.pulumi.azure.core.outputs.GetResourceGroupResult;
import com.pulumi.azure.core.outputs.GetResourceGroupTemplateDeploymentResult;
import com.pulumi.azure.core.outputs.GetResourcesResult;
import com.pulumi.azure.core.outputs.GetSubscriptionResult;
import com.pulumi.azure.core.outputs.GetSubscriptionTemplateDeploymentResult;
import com.pulumi.azure.core.outputs.GetSubscriptionsResult;
import com.pulumi.azure.core.outputs.GetTemplateSpecVersionResult;
import com.pulumi.azure.core.outputs.GetTenantTemplateDeploymentResult;
import com.pulumi.azure.core.outputs.GetUserAssignedIdentityResult;
import com.pulumi.core.Output;
import com.pulumi.core.TypeShape;
import com.pulumi.deployment.Deployment;
import com.pulumi.deployment.InvokeOptions;
import com.pulumi.resources.InvokeArgs;
import java.util.concurrent.CompletableFuture;

public final class CoreFunctions {
    /**
     * Use this data source to access the configuration of the AzureRM provider.
     * 
     * ## Example Usage
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.azure.core.CoreFunctions;
     * 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 = CoreFunctions.getClientConfig();
     * 
     *         ctx.export(&#34;accountId&#34;, current.applyValue(getClientConfigResult -&gt; getClientConfigResult.clientId()));
     *     }
     * }
     * ```
     * 
     */
    public static Output<GetClientConfigResult> getClientConfig() {
        return getClientConfig(InvokeArgs.Empty, InvokeOptions.Empty);
    }
    /**
     * Use this data source to access the configuration of the AzureRM provider.
     * 
     * ## Example Usage
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.azure.core.CoreFunctions;
     * 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 = CoreFunctions.getClientConfig();
     * 
     *         ctx.export(&#34;accountId&#34;, current.applyValue(getClientConfigResult -&gt; getClientConfigResult.clientId()));
     *     }
     * }
     * ```
     * 
     */
    public static CompletableFuture<GetClientConfigResult> getClientConfigPlain() {
        return getClientConfigPlain(InvokeArgs.Empty, InvokeOptions.Empty);
    }
    /**
     * Use this data source to access the configuration of the AzureRM provider.
     * 
     * ## Example Usage
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.azure.core.CoreFunctions;
     * 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 = CoreFunctions.getClientConfig();
     * 
     *         ctx.export(&#34;accountId&#34;, current.applyValue(getClientConfigResult -&gt; getClientConfigResult.clientId()));
     *     }
     * }
     * ```
     * 
     */
    public static Output<GetClientConfigResult> getClientConfig(InvokeArgs args) {
        return getClientConfig(args, InvokeOptions.Empty);
    }
    /**
     * Use this data source to access the configuration of the AzureRM provider.
     * 
     * ## Example Usage
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.azure.core.CoreFunctions;
     * 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 = CoreFunctions.getClientConfig();
     * 
     *         ctx.export(&#34;accountId&#34;, current.applyValue(getClientConfigResult -&gt; getClientConfigResult.clientId()));
     *     }
     * }
     * ```
     * 
     */
    public static CompletableFuture<GetClientConfigResult> getClientConfigPlain(InvokeArgs args) {
        return getClientConfigPlain(args, InvokeOptions.Empty);
    }
    /**
     * Use this data source to access the configuration of the AzureRM provider.
     * 
     * ## Example Usage
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.azure.core.CoreFunctions;
     * 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 = CoreFunctions.getClientConfig();
     * 
     *         ctx.export(&#34;accountId&#34;, current.applyValue(getClientConfigResult -&gt; getClientConfigResult.clientId()));
     *     }
     * }
     * ```
     * 
     */
    public static Output<GetClientConfigResult> getClientConfig(InvokeArgs args, InvokeOptions options) {
        return Deployment.getInstance().invoke("azure:core/getClientConfig:getClientConfig", TypeShape.of(GetClientConfigResult.class), args, Utilities.withVersion(options));
    }
    /**
     * Use this data source to access the configuration of the AzureRM provider.
     * 
     * ## Example Usage
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.azure.core.CoreFunctions;
     * 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 = CoreFunctions.getClientConfig();
     * 
     *         ctx.export(&#34;accountId&#34;, current.applyValue(getClientConfigResult -&gt; getClientConfigResult.clientId()));
     *     }
     * }
     * ```
     * 
     */
    public static CompletableFuture<GetClientConfigResult> getClientConfigPlain(InvokeArgs args, InvokeOptions options) {
        return Deployment.getInstance().invokeAsync("azure:core/getClientConfig:getClientConfig", TypeShape.of(GetClientConfigResult.class), args, Utilities.withVersion(options));
    }
    /**
     * This data source return the available Extended Locations for a specific Azure Region.
     * 
     * ## Example Usage
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.azure.core.CoreFunctions;
     * import com.pulumi.azure.core.inputs.GetExtendedLocationsArgs;
     * 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 = CoreFunctions.getExtendedLocations(GetExtendedLocationsArgs.builder()
     *             .location(&#34;West Europe&#34;)
     *             .build());
     * 
     *     }
     * }
     * ```
     * 
     */
    public static Output<GetExtendedLocationsResult> getExtendedLocations(GetExtendedLocationsArgs args) {
        return getExtendedLocations(args, InvokeOptions.Empty);
    }
    /**
     * This data source return the available Extended Locations for a specific Azure Region.
     * 
     * ## Example Usage
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.azure.core.CoreFunctions;
     * import com.pulumi.azure.core.inputs.GetExtendedLocationsArgs;
     * 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 = CoreFunctions.getExtendedLocations(GetExtendedLocationsArgs.builder()
     *             .location(&#34;West Europe&#34;)
     *             .build());
     * 
     *     }
     * }
     * ```
     * 
     */
    public static CompletableFuture<GetExtendedLocationsResult> getExtendedLocationsPlain(GetExtendedLocationsPlainArgs args) {
        return getExtendedLocationsPlain(args, InvokeOptions.Empty);
    }
    /**
     * This data source return the available Extended Locations for a specific Azure Region.
     * 
     * ## Example Usage
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.azure.core.CoreFunctions;
     * import com.pulumi.azure.core.inputs.GetExtendedLocationsArgs;
     * 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 = CoreFunctions.getExtendedLocations(GetExtendedLocationsArgs.builder()
     *             .location(&#34;West Europe&#34;)
     *             .build());
     * 
     *     }
     * }
     * ```
     * 
     */
    public static Output<GetExtendedLocationsResult> getExtendedLocations(GetExtendedLocationsArgs args, InvokeOptions options) {
        return Deployment.getInstance().invoke("azure:core/getExtendedLocations:getExtendedLocations", TypeShape.of(GetExtendedLocationsResult.class), args, Utilities.withVersion(options));
    }
    /**
     * This data source return the available Extended Locations for a specific Azure Region.
     * 
     * ## Example Usage
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.azure.core.CoreFunctions;
     * import com.pulumi.azure.core.inputs.GetExtendedLocationsArgs;
     * 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 = CoreFunctions.getExtendedLocations(GetExtendedLocationsArgs.builder()
     *             .location(&#34;West Europe&#34;)
     *             .build());
     * 
     *     }
     * }
     * ```
     * 
     */
    public static CompletableFuture<GetExtendedLocationsResult> getExtendedLocationsPlain(GetExtendedLocationsPlainArgs args, InvokeOptions options) {
        return Deployment.getInstance().invokeAsync("azure:core/getExtendedLocations:getExtendedLocations", TypeShape.of(GetExtendedLocationsResult.class), args, Utilities.withVersion(options));
    }
    /**
     * Use this data source to access information about an existing Resource Group.
     * 
     * ## Example Usage
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.azure.core.CoreFunctions;
     * import com.pulumi.azure.core.inputs.GetResourceGroupArgs;
     * 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 = CoreFunctions.getResourceGroup(GetResourceGroupArgs.builder()
     *             .name(&#34;existing&#34;)
     *             .build());
     * 
     *         ctx.export(&#34;id&#34;, example.applyValue(getResourceGroupResult -&gt; getResourceGroupResult.id()));
     *     }
     * }
     * ```
     * 
     */
    public static Output<GetResourceGroupResult> getResourceGroup(GetResourceGroupArgs args) {
        return getResourceGroup(args, InvokeOptions.Empty);
    }
    /**
     * Use this data source to access information about an existing Resource Group.
     * 
     * ## Example Usage
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.azure.core.CoreFunctions;
     * import com.pulumi.azure.core.inputs.GetResourceGroupArgs;
     * 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 = CoreFunctions.getResourceGroup(GetResourceGroupArgs.builder()
     *             .name(&#34;existing&#34;)
     *             .build());
     * 
     *         ctx.export(&#34;id&#34;, example.applyValue(getResourceGroupResult -&gt; getResourceGroupResult.id()));
     *     }
     * }
     * ```
     * 
     */
    public static CompletableFuture<GetResourceGroupResult> getResourceGroupPlain(GetResourceGroupPlainArgs args) {
        return getResourceGroupPlain(args, InvokeOptions.Empty);
    }
    /**
     * Use this data source to access information about an existing Resource Group.
     * 
     * ## Example Usage
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.azure.core.CoreFunctions;
     * import com.pulumi.azure.core.inputs.GetResourceGroupArgs;
     * 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 = CoreFunctions.getResourceGroup(GetResourceGroupArgs.builder()
     *             .name(&#34;existing&#34;)
     *             .build());
     * 
     *         ctx.export(&#34;id&#34;, example.applyValue(getResourceGroupResult -&gt; getResourceGroupResult.id()));
     *     }
     * }
     * ```
     * 
     */
    public static Output<GetResourceGroupResult> getResourceGroup(GetResourceGroupArgs args, InvokeOptions options) {
        return Deployment.getInstance().invoke("azure:core/getResourceGroup:getResourceGroup", TypeShape.of(GetResourceGroupResult.class), args, Utilities.withVersion(options));
    }
    /**
     * Use this data source to access information about an existing Resource Group.
     * 
     * ## Example Usage
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.azure.core.CoreFunctions;
     * import com.pulumi.azure.core.inputs.GetResourceGroupArgs;
     * 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 = CoreFunctions.getResourceGroup(GetResourceGroupArgs.builder()
     *             .name(&#34;existing&#34;)
     *             .build());
     * 
     *         ctx.export(&#34;id&#34;, example.applyValue(getResourceGroupResult -&gt; getResourceGroupResult.id()));
     *     }
     * }
     * ```
     * 
     */
    public static CompletableFuture<GetResourceGroupResult> getResourceGroupPlain(GetResourceGroupPlainArgs args, InvokeOptions options) {
        return Deployment.getInstance().invokeAsync("azure:core/getResourceGroup:getResourceGroup", TypeShape.of(GetResourceGroupResult.class), args, Utilities.withVersion(options));
    }
    /**
     * Use this data source to access information about an existing Resource Group Template Deployment.
     * 
     */
    public static Output<GetResourceGroupTemplateDeploymentResult> getResourceGroupTemplateDeployment(GetResourceGroupTemplateDeploymentArgs args) {
        return getResourceGroupTemplateDeployment(args, InvokeOptions.Empty);
    }
    /**
     * Use this data source to access information about an existing Resource Group Template Deployment.
     * 
     */
    public static CompletableFuture<GetResourceGroupTemplateDeploymentResult> getResourceGroupTemplateDeploymentPlain(GetResourceGroupTemplateDeploymentPlainArgs args) {
        return getResourceGroupTemplateDeploymentPlain(args, InvokeOptions.Empty);
    }
    /**
     * Use this data source to access information about an existing Resource Group Template Deployment.
     * 
     */
    public static Output<GetResourceGroupTemplateDeploymentResult> getResourceGroupTemplateDeployment(GetResourceGroupTemplateDeploymentArgs args, InvokeOptions options) {
        return Deployment.getInstance().invoke("azure:core/getResourceGroupTemplateDeployment:getResourceGroupTemplateDeployment", TypeShape.of(GetResourceGroupTemplateDeploymentResult.class), args, Utilities.withVersion(options));
    }
    /**
     * Use this data source to access information about an existing Resource Group Template Deployment.
     * 
     */
    public static CompletableFuture<GetResourceGroupTemplateDeploymentResult> getResourceGroupTemplateDeploymentPlain(GetResourceGroupTemplateDeploymentPlainArgs args, InvokeOptions options) {
        return Deployment.getInstance().invokeAsync("azure:core/getResourceGroupTemplateDeployment:getResourceGroupTemplateDeployment", TypeShape.of(GetResourceGroupTemplateDeploymentResult.class), args, Utilities.withVersion(options));
    }
    /**
     * Use this data source to access information about existing resources.
     * 
     */
    public static Output<GetResourcesResult> getResources() {
        return getResources(GetResourcesArgs.Empty, InvokeOptions.Empty);
    }
    /**
     * Use this data source to access information about existing resources.
     * 
     */
    public static CompletableFuture<GetResourcesResult> getResourcesPlain() {
        return getResourcesPlain(GetResourcesPlainArgs.Empty, InvokeOptions.Empty);
    }
    /**
     * Use this data source to access information about existing resources.
     * 
     */
    public static Output<GetResourcesResult> getResources(GetResourcesArgs args) {
        return getResources(args, InvokeOptions.Empty);
    }
    /**
     * Use this data source to access information about existing resources.
     * 
     */
    public static CompletableFuture<GetResourcesResult> getResourcesPlain(GetResourcesPlainArgs args) {
        return getResourcesPlain(args, InvokeOptions.Empty);
    }
    /**
     * Use this data source to access information about existing resources.
     * 
     */
    public static Output<GetResourcesResult> getResources(GetResourcesArgs args, InvokeOptions options) {
        return Deployment.getInstance().invoke("azure:core/getResources:getResources", TypeShape.of(GetResourcesResult.class), args, Utilities.withVersion(options));
    }
    /**
     * Use this data source to access information about existing resources.
     * 
     */
    public static CompletableFuture<GetResourcesResult> getResourcesPlain(GetResourcesPlainArgs args, InvokeOptions options) {
        return Deployment.getInstance().invokeAsync("azure:core/getResources:getResources", TypeShape.of(GetResourcesResult.class), args, Utilities.withVersion(options));
    }
    /**
     * Use this data source to access information about an existing Subscription.
     * 
     * ## Example Usage
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.azure.core.CoreFunctions;
     * import com.pulumi.azure.core.inputs.GetSubscriptionArgs;
     * 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 = CoreFunctions.getSubscription();
     * 
     *         ctx.export(&#34;currentSubscriptionDisplayName&#34;, current.applyValue(getSubscriptionResult -&gt; getSubscriptionResult.displayName()));
     *     }
     * }
     * ```
     * 
     */
    public static Output<GetSubscriptionResult> getSubscription() {
        return getSubscription(GetSubscriptionArgs.Empty, InvokeOptions.Empty);
    }
    /**
     * Use this data source to access information about an existing Subscription.
     * 
     * ## Example Usage
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.azure.core.CoreFunctions;
     * import com.pulumi.azure.core.inputs.GetSubscriptionArgs;
     * 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 = CoreFunctions.getSubscription();
     * 
     *         ctx.export(&#34;currentSubscriptionDisplayName&#34;, current.applyValue(getSubscriptionResult -&gt; getSubscriptionResult.displayName()));
     *     }
     * }
     * ```
     * 
     */
    public static CompletableFuture<GetSubscriptionResult> getSubscriptionPlain() {
        return getSubscriptionPlain(GetSubscriptionPlainArgs.Empty, InvokeOptions.Empty);
    }
    /**
     * Use this data source to access information about an existing Subscription.
     * 
     * ## Example Usage
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.azure.core.CoreFunctions;
     * import com.pulumi.azure.core.inputs.GetSubscriptionArgs;
     * 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 = CoreFunctions.getSubscription();
     * 
     *         ctx.export(&#34;currentSubscriptionDisplayName&#34;, current.applyValue(getSubscriptionResult -&gt; getSubscriptionResult.displayName()));
     *     }
     * }
     * ```
     * 
     */
    public static Output<GetSubscriptionResult> getSubscription(GetSubscriptionArgs args) {
        return getSubscription(args, InvokeOptions.Empty);
    }
    /**
     * Use this data source to access information about an existing Subscription.
     * 
     * ## Example Usage
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.azure.core.CoreFunctions;
     * import com.pulumi.azure.core.inputs.GetSubscriptionArgs;
     * 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 = CoreFunctions.getSubscription();
     * 
     *         ctx.export(&#34;currentSubscriptionDisplayName&#34;, current.applyValue(getSubscriptionResult -&gt; getSubscriptionResult.displayName()));
     *     }
     * }
     * ```
     * 
     */
    public static CompletableFuture<GetSubscriptionResult> getSubscriptionPlain(GetSubscriptionPlainArgs args) {
        return getSubscriptionPlain(args, InvokeOptions.Empty);
    }
    /**
     * Use this data source to access information about an existing Subscription.
     * 
     * ## Example Usage
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.azure.core.CoreFunctions;
     * import com.pulumi.azure.core.inputs.GetSubscriptionArgs;
     * 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 = CoreFunctions.getSubscription();
     * 
     *         ctx.export(&#34;currentSubscriptionDisplayName&#34;, current.applyValue(getSubscriptionResult -&gt; getSubscriptionResult.displayName()));
     *     }
     * }
     * ```
     * 
     */
    public static Output<GetSubscriptionResult> getSubscription(GetSubscriptionArgs args, InvokeOptions options) {
        return Deployment.getInstance().invoke("azure:core/getSubscription:getSubscription", TypeShape.of(GetSubscriptionResult.class), args, Utilities.withVersion(options));
    }
    /**
     * Use this data source to access information about an existing Subscription.
     * 
     * ## Example Usage
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.azure.core.CoreFunctions;
     * import com.pulumi.azure.core.inputs.GetSubscriptionArgs;
     * 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 = CoreFunctions.getSubscription();
     * 
     *         ctx.export(&#34;currentSubscriptionDisplayName&#34;, current.applyValue(getSubscriptionResult -&gt; getSubscriptionResult.displayName()));
     *     }
     * }
     * ```
     * 
     */
    public static CompletableFuture<GetSubscriptionResult> getSubscriptionPlain(GetSubscriptionPlainArgs args, InvokeOptions options) {
        return Deployment.getInstance().invokeAsync("azure:core/getSubscription:getSubscription", TypeShape.of(GetSubscriptionResult.class), args, Utilities.withVersion(options));
    }
    /**
     * Use this data source to access information about an existing Subscription Template Deployment.
     * 
     */
    public static Output<GetSubscriptionTemplateDeploymentResult> getSubscriptionTemplateDeployment(GetSubscriptionTemplateDeploymentArgs args) {
        return getSubscriptionTemplateDeployment(args, InvokeOptions.Empty);
    }
    /**
     * Use this data source to access information about an existing Subscription Template Deployment.
     * 
     */
    public static CompletableFuture<GetSubscriptionTemplateDeploymentResult> getSubscriptionTemplateDeploymentPlain(GetSubscriptionTemplateDeploymentPlainArgs args) {
        return getSubscriptionTemplateDeploymentPlain(args, InvokeOptions.Empty);
    }
    /**
     * Use this data source to access information about an existing Subscription Template Deployment.
     * 
     */
    public static Output<GetSubscriptionTemplateDeploymentResult> getSubscriptionTemplateDeployment(GetSubscriptionTemplateDeploymentArgs args, InvokeOptions options) {
        return Deployment.getInstance().invoke("azure:core/getSubscriptionTemplateDeployment:getSubscriptionTemplateDeployment", TypeShape.of(GetSubscriptionTemplateDeploymentResult.class), args, Utilities.withVersion(options));
    }
    /**
     * Use this data source to access information about an existing Subscription Template Deployment.
     * 
     */
    public static CompletableFuture<GetSubscriptionTemplateDeploymentResult> getSubscriptionTemplateDeploymentPlain(GetSubscriptionTemplateDeploymentPlainArgs args, InvokeOptions options) {
        return Deployment.getInstance().invokeAsync("azure:core/getSubscriptionTemplateDeployment:getSubscriptionTemplateDeployment", TypeShape.of(GetSubscriptionTemplateDeploymentResult.class), args, Utilities.withVersion(options));
    }
    /**
     * Use this data source to access information about all the Subscriptions currently available.
     * 
     * ## Example Usage
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.azure.core.CoreFunctions;
     * import com.pulumi.azure.core.inputs.GetSubscriptionsArgs;
     * 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 available = CoreFunctions.getSubscriptions();
     * 
     *         ctx.export(&#34;availableSubscriptions&#34;, available.applyValue(getSubscriptionsResult -&gt; getSubscriptionsResult.subscriptions()));
     *         ctx.export(&#34;firstAvailableSubscriptionDisplayName&#34;, available.applyValue(getSubscriptionsResult -&gt; getSubscriptionsResult.subscriptions()[0].displayName()));
     *     }
     * }
     * ```
     * 
     */
    public static Output<GetSubscriptionsResult> getSubscriptions() {
        return getSubscriptions(GetSubscriptionsArgs.Empty, InvokeOptions.Empty);
    }
    /**
     * Use this data source to access information about all the Subscriptions currently available.
     * 
     * ## Example Usage
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.azure.core.CoreFunctions;
     * import com.pulumi.azure.core.inputs.GetSubscriptionsArgs;
     * 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 available = CoreFunctions.getSubscriptions();
     * 
     *         ctx.export(&#34;availableSubscriptions&#34;, available.applyValue(getSubscriptionsResult -&gt; getSubscriptionsResult.subscriptions()));
     *         ctx.export(&#34;firstAvailableSubscriptionDisplayName&#34;, available.applyValue(getSubscriptionsResult -&gt; getSubscriptionsResult.subscriptions()[0].displayName()));
     *     }
     * }
     * ```
     * 
     */
    public static CompletableFuture<GetSubscriptionsResult> getSubscriptionsPlain() {
        return getSubscriptionsPlain(GetSubscriptionsPlainArgs.Empty, InvokeOptions.Empty);
    }
    /**
     * Use this data source to access information about all the Subscriptions currently available.
     * 
     * ## Example Usage
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.azure.core.CoreFunctions;
     * import com.pulumi.azure.core.inputs.GetSubscriptionsArgs;
     * 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 available = CoreFunctions.getSubscriptions();
     * 
     *         ctx.export(&#34;availableSubscriptions&#34;, available.applyValue(getSubscriptionsResult -&gt; getSubscriptionsResult.subscriptions()));
     *         ctx.export(&#34;firstAvailableSubscriptionDisplayName&#34;, available.applyValue(getSubscriptionsResult -&gt; getSubscriptionsResult.subscriptions()[0].displayName()));
     *     }
     * }
     * ```
     * 
     */
    public static Output<GetSubscriptionsResult> getSubscriptions(GetSubscriptionsArgs args) {
        return getSubscriptions(args, InvokeOptions.Empty);
    }
    /**
     * Use this data source to access information about all the Subscriptions currently available.
     * 
     * ## Example Usage
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.azure.core.CoreFunctions;
     * import com.pulumi.azure.core.inputs.GetSubscriptionsArgs;
     * 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 available = CoreFunctions.getSubscriptions();
     * 
     *         ctx.export(&#34;availableSubscriptions&#34;, available.applyValue(getSubscriptionsResult -&gt; getSubscriptionsResult.subscriptions()));
     *         ctx.export(&#34;firstAvailableSubscriptionDisplayName&#34;, available.applyValue(getSubscriptionsResult -&gt; getSubscriptionsResult.subscriptions()[0].displayName()));
     *     }
     * }
     * ```
     * 
     */
    public static CompletableFuture<GetSubscriptionsResult> getSubscriptionsPlain(GetSubscriptionsPlainArgs args) {
        return getSubscriptionsPlain(args, InvokeOptions.Empty);
    }
    /**
     * Use this data source to access information about all the Subscriptions currently available.
     * 
     * ## Example Usage
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.azure.core.CoreFunctions;
     * import com.pulumi.azure.core.inputs.GetSubscriptionsArgs;
     * 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 available = CoreFunctions.getSubscriptions();
     * 
     *         ctx.export(&#34;availableSubscriptions&#34;, available.applyValue(getSubscriptionsResult -&gt; getSubscriptionsResult.subscriptions()));
     *         ctx.export(&#34;firstAvailableSubscriptionDisplayName&#34;, available.applyValue(getSubscriptionsResult -&gt; getSubscriptionsResult.subscriptions()[0].displayName()));
     *     }
     * }
     * ```
     * 
     */
    public static Output<GetSubscriptionsResult> getSubscriptions(GetSubscriptionsArgs args, InvokeOptions options) {
        return Deployment.getInstance().invoke("azure:core/getSubscriptions:getSubscriptions", TypeShape.of(GetSubscriptionsResult.class), args, Utilities.withVersion(options));
    }
    /**
     * Use this data source to access information about all the Subscriptions currently available.
     * 
     * ## Example Usage
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.azure.core.CoreFunctions;
     * import com.pulumi.azure.core.inputs.GetSubscriptionsArgs;
     * 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 available = CoreFunctions.getSubscriptions();
     * 
     *         ctx.export(&#34;availableSubscriptions&#34;, available.applyValue(getSubscriptionsResult -&gt; getSubscriptionsResult.subscriptions()));
     *         ctx.export(&#34;firstAvailableSubscriptionDisplayName&#34;, available.applyValue(getSubscriptionsResult -&gt; getSubscriptionsResult.subscriptions()[0].displayName()));
     *     }
     * }
     * ```
     * 
     */
    public static CompletableFuture<GetSubscriptionsResult> getSubscriptionsPlain(GetSubscriptionsPlainArgs args, InvokeOptions options) {
        return Deployment.getInstance().invokeAsync("azure:core/getSubscriptions:getSubscriptions", TypeShape.of(GetSubscriptionsResult.class), args, Utilities.withVersion(options));
    }
    /**
     * Use this data source to access information about an existing Template Spec Version.
     * 
     * ## Example Usage
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.azure.core.CoreFunctions;
     * import com.pulumi.azure.core.inputs.GetTemplateSpecVersionArgs;
     * 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 = CoreFunctions.getTemplateSpecVersion(GetTemplateSpecVersionArgs.builder()
     *             .name(&#34;exampleTemplateSpec&#34;)
     *             .resourceGroupName(&#34;MyResourceGroup&#34;)
     *             .version(&#34;v1.0.4&#34;)
     *             .build());
     * 
     *         ctx.export(&#34;id&#34;, example.applyValue(getTemplateSpecVersionResult -&gt; getTemplateSpecVersionResult.id()));
     *     }
     * }
     * ```
     * 
     */
    public static Output<GetTemplateSpecVersionResult> getTemplateSpecVersion(GetTemplateSpecVersionArgs args) {
        return getTemplateSpecVersion(args, InvokeOptions.Empty);
    }
    /**
     * Use this data source to access information about an existing Template Spec Version.
     * 
     * ## Example Usage
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.azure.core.CoreFunctions;
     * import com.pulumi.azure.core.inputs.GetTemplateSpecVersionArgs;
     * 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 = CoreFunctions.getTemplateSpecVersion(GetTemplateSpecVersionArgs.builder()
     *             .name(&#34;exampleTemplateSpec&#34;)
     *             .resourceGroupName(&#34;MyResourceGroup&#34;)
     *             .version(&#34;v1.0.4&#34;)
     *             .build());
     * 
     *         ctx.export(&#34;id&#34;, example.applyValue(getTemplateSpecVersionResult -&gt; getTemplateSpecVersionResult.id()));
     *     }
     * }
     * ```
     * 
     */
    public static CompletableFuture<GetTemplateSpecVersionResult> getTemplateSpecVersionPlain(GetTemplateSpecVersionPlainArgs args) {
        return getTemplateSpecVersionPlain(args, InvokeOptions.Empty);
    }
    /**
     * Use this data source to access information about an existing Template Spec Version.
     * 
     * ## Example Usage
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.azure.core.CoreFunctions;
     * import com.pulumi.azure.core.inputs.GetTemplateSpecVersionArgs;
     * 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 = CoreFunctions.getTemplateSpecVersion(GetTemplateSpecVersionArgs.builder()
     *             .name(&#34;exampleTemplateSpec&#34;)
     *             .resourceGroupName(&#34;MyResourceGroup&#34;)
     *             .version(&#34;v1.0.4&#34;)
     *             .build());
     * 
     *         ctx.export(&#34;id&#34;, example.applyValue(getTemplateSpecVersionResult -&gt; getTemplateSpecVersionResult.id()));
     *     }
     * }
     * ```
     * 
     */
    public static Output<GetTemplateSpecVersionResult> getTemplateSpecVersion(GetTemplateSpecVersionArgs args, InvokeOptions options) {
        return Deployment.getInstance().invoke("azure:core/getTemplateSpecVersion:getTemplateSpecVersion", TypeShape.of(GetTemplateSpecVersionResult.class), args, Utilities.withVersion(options));
    }
    /**
     * Use this data source to access information about an existing Template Spec Version.
     * 
     * ## Example Usage
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.azure.core.CoreFunctions;
     * import com.pulumi.azure.core.inputs.GetTemplateSpecVersionArgs;
     * 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 = CoreFunctions.getTemplateSpecVersion(GetTemplateSpecVersionArgs.builder()
     *             .name(&#34;exampleTemplateSpec&#34;)
     *             .resourceGroupName(&#34;MyResourceGroup&#34;)
     *             .version(&#34;v1.0.4&#34;)
     *             .build());
     * 
     *         ctx.export(&#34;id&#34;, example.applyValue(getTemplateSpecVersionResult -&gt; getTemplateSpecVersionResult.id()));
     *     }
     * }
     * ```
     * 
     */
    public static CompletableFuture<GetTemplateSpecVersionResult> getTemplateSpecVersionPlain(GetTemplateSpecVersionPlainArgs args, InvokeOptions options) {
        return Deployment.getInstance().invokeAsync("azure:core/getTemplateSpecVersion:getTemplateSpecVersion", TypeShape.of(GetTemplateSpecVersionResult.class), args, Utilities.withVersion(options));
    }
    /**
     * Use this data source to access information about an existing Tenant Template Deployment.
     * 
     */
    public static Output<GetTenantTemplateDeploymentResult> getTenantTemplateDeployment(GetTenantTemplateDeploymentArgs args) {
        return getTenantTemplateDeployment(args, InvokeOptions.Empty);
    }
    /**
     * Use this data source to access information about an existing Tenant Template Deployment.
     * 
     */
    public static CompletableFuture<GetTenantTemplateDeploymentResult> getTenantTemplateDeploymentPlain(GetTenantTemplateDeploymentPlainArgs args) {
        return getTenantTemplateDeploymentPlain(args, InvokeOptions.Empty);
    }
    /**
     * Use this data source to access information about an existing Tenant Template Deployment.
     * 
     */
    public static Output<GetTenantTemplateDeploymentResult> getTenantTemplateDeployment(GetTenantTemplateDeploymentArgs args, InvokeOptions options) {
        return Deployment.getInstance().invoke("azure:core/getTenantTemplateDeployment:getTenantTemplateDeployment", TypeShape.of(GetTenantTemplateDeploymentResult.class), args, Utilities.withVersion(options));
    }
    /**
     * Use this data source to access information about an existing Tenant Template Deployment.
     * 
     */
    public static CompletableFuture<GetTenantTemplateDeploymentResult> getTenantTemplateDeploymentPlain(GetTenantTemplateDeploymentPlainArgs args, InvokeOptions options) {
        return Deployment.getInstance().invokeAsync("azure:core/getTenantTemplateDeployment:getTenantTemplateDeployment", TypeShape.of(GetTenantTemplateDeploymentResult.class), args, Utilities.withVersion(options));
    }
    /**
     * Use this data source to access information about an existing User Assigned Identity.
     * 
     * ## Example Usage
     * ### Reference An Existing)
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.azure.authorization.AuthorizationFunctions;
     * import com.pulumi.azure.authorization.inputs.GetUserAssignedIdentityArgs;
     * 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 = AuthorizationFunctions.getUserAssignedIdentity(GetUserAssignedIdentityArgs.builder()
     *             .name(&#34;name_of_user_assigned_identity&#34;)
     *             .resourceGroupName(&#34;name_of_resource_group&#34;)
     *             .build());
     * 
     *         ctx.export(&#34;uaiClientId&#34;, example.applyValue(getUserAssignedIdentityResult -&gt; getUserAssignedIdentityResult.clientId()));
     *         ctx.export(&#34;uaiPrincipalId&#34;, example.applyValue(getUserAssignedIdentityResult -&gt; getUserAssignedIdentityResult.principalId()));
     *         ctx.export(&#34;uaiTenantId&#34;, example.applyValue(getUserAssignedIdentityResult -&gt; getUserAssignedIdentityResult.tenantId()));
     *     }
     * }
     * ```
     * 
     * @deprecated
     * azure.core.getUserAssignedIdentity has been deprecated in favor of azure.authorization.getUserAssignedIdentity
     * 
     */
    @Deprecated /* azure.core.getUserAssignedIdentity has been deprecated in favor of azure.authorization.getUserAssignedIdentity */
    public static Output<GetUserAssignedIdentityResult> getUserAssignedIdentity(GetUserAssignedIdentityArgs args) {
        return getUserAssignedIdentity(args, InvokeOptions.Empty);
    }
    /**
     * Use this data source to access information about an existing User Assigned Identity.
     * 
     * ## Example Usage
     * ### Reference An Existing)
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.azure.authorization.AuthorizationFunctions;
     * import com.pulumi.azure.authorization.inputs.GetUserAssignedIdentityArgs;
     * 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 = AuthorizationFunctions.getUserAssignedIdentity(GetUserAssignedIdentityArgs.builder()
     *             .name(&#34;name_of_user_assigned_identity&#34;)
     *             .resourceGroupName(&#34;name_of_resource_group&#34;)
     *             .build());
     * 
     *         ctx.export(&#34;uaiClientId&#34;, example.applyValue(getUserAssignedIdentityResult -&gt; getUserAssignedIdentityResult.clientId()));
     *         ctx.export(&#34;uaiPrincipalId&#34;, example.applyValue(getUserAssignedIdentityResult -&gt; getUserAssignedIdentityResult.principalId()));
     *         ctx.export(&#34;uaiTenantId&#34;, example.applyValue(getUserAssignedIdentityResult -&gt; getUserAssignedIdentityResult.tenantId()));
     *     }
     * }
     * ```
     * 
     * @deprecated
     * azure.core.getUserAssignedIdentity has been deprecated in favor of azure.authorization.getUserAssignedIdentity
     * 
     */
    @Deprecated /* azure.core.getUserAssignedIdentity has been deprecated in favor of azure.authorization.getUserAssignedIdentity */
    public static CompletableFuture<GetUserAssignedIdentityResult> getUserAssignedIdentityPlain(GetUserAssignedIdentityPlainArgs args) {
        return getUserAssignedIdentityPlain(args, InvokeOptions.Empty);
    }
    /**
     * Use this data source to access information about an existing User Assigned Identity.
     * 
     * ## Example Usage
     * ### Reference An Existing)
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.azure.authorization.AuthorizationFunctions;
     * import com.pulumi.azure.authorization.inputs.GetUserAssignedIdentityArgs;
     * 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 = AuthorizationFunctions.getUserAssignedIdentity(GetUserAssignedIdentityArgs.builder()
     *             .name(&#34;name_of_user_assigned_identity&#34;)
     *             .resourceGroupName(&#34;name_of_resource_group&#34;)
     *             .build());
     * 
     *         ctx.export(&#34;uaiClientId&#34;, example.applyValue(getUserAssignedIdentityResult -&gt; getUserAssignedIdentityResult.clientId()));
     *         ctx.export(&#34;uaiPrincipalId&#34;, example.applyValue(getUserAssignedIdentityResult -&gt; getUserAssignedIdentityResult.principalId()));
     *         ctx.export(&#34;uaiTenantId&#34;, example.applyValue(getUserAssignedIdentityResult -&gt; getUserAssignedIdentityResult.tenantId()));
     *     }
     * }
     * ```
     * 
     * @deprecated
     * azure.core.getUserAssignedIdentity has been deprecated in favor of azure.authorization.getUserAssignedIdentity
     * 
     */
    @Deprecated /* azure.core.getUserAssignedIdentity has been deprecated in favor of azure.authorization.getUserAssignedIdentity */
    public static Output<GetUserAssignedIdentityResult> getUserAssignedIdentity(GetUserAssignedIdentityArgs args, InvokeOptions options) {
        return Deployment.getInstance().invoke("azure:core/getUserAssignedIdentity:getUserAssignedIdentity", TypeShape.of(GetUserAssignedIdentityResult.class), args, Utilities.withVersion(options));
    }
    /**
     * Use this data source to access information about an existing User Assigned Identity.
     * 
     * ## Example Usage
     * ### Reference An Existing)
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.azure.authorization.AuthorizationFunctions;
     * import com.pulumi.azure.authorization.inputs.GetUserAssignedIdentityArgs;
     * 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 = AuthorizationFunctions.getUserAssignedIdentity(GetUserAssignedIdentityArgs.builder()
     *             .name(&#34;name_of_user_assigned_identity&#34;)
     *             .resourceGroupName(&#34;name_of_resource_group&#34;)
     *             .build());
     * 
     *         ctx.export(&#34;uaiClientId&#34;, example.applyValue(getUserAssignedIdentityResult -&gt; getUserAssignedIdentityResult.clientId()));
     *         ctx.export(&#34;uaiPrincipalId&#34;, example.applyValue(getUserAssignedIdentityResult -&gt; getUserAssignedIdentityResult.principalId()));
     *         ctx.export(&#34;uaiTenantId&#34;, example.applyValue(getUserAssignedIdentityResult -&gt; getUserAssignedIdentityResult.tenantId()));
     *     }
     * }
     * ```
     * 
     * @deprecated
     * azure.core.getUserAssignedIdentity has been deprecated in favor of azure.authorization.getUserAssignedIdentity
     * 
     */
    @Deprecated /* azure.core.getUserAssignedIdentity has been deprecated in favor of azure.authorization.getUserAssignedIdentity */
    public static CompletableFuture<GetUserAssignedIdentityResult> getUserAssignedIdentityPlain(GetUserAssignedIdentityPlainArgs args, InvokeOptions options) {
        return Deployment.getInstance().invokeAsync("azure:core/getUserAssignedIdentity:getUserAssignedIdentity", TypeShape.of(GetUserAssignedIdentityResult.class), args, Utilities.withVersion(options));
    }
}
