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

com.pulumi.azure.automation.kotlin.AutomationFunctions.kt Maven / Gradle / Ivy

Go to download

Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.

There is a newer version: 6.21.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.azure.automation.kotlin

import com.pulumi.azure.automation.AutomationFunctions.getAccountPlain
import com.pulumi.azure.automation.AutomationFunctions.getBoolVariablePlain
import com.pulumi.azure.automation.AutomationFunctions.getDateTimeVariablePlain
import com.pulumi.azure.automation.AutomationFunctions.getIntVariablePlain
import com.pulumi.azure.automation.AutomationFunctions.getRunbookPlain
import com.pulumi.azure.automation.AutomationFunctions.getStringVariablePlain
import com.pulumi.azure.automation.AutomationFunctions.getVariableObjectPlain
import com.pulumi.azure.automation.AutomationFunctions.getVariablesPlain
import com.pulumi.azure.automation.kotlin.inputs.GetAccountPlainArgs
import com.pulumi.azure.automation.kotlin.inputs.GetAccountPlainArgsBuilder
import com.pulumi.azure.automation.kotlin.inputs.GetBoolVariablePlainArgs
import com.pulumi.azure.automation.kotlin.inputs.GetBoolVariablePlainArgsBuilder
import com.pulumi.azure.automation.kotlin.inputs.GetDateTimeVariablePlainArgs
import com.pulumi.azure.automation.kotlin.inputs.GetDateTimeVariablePlainArgsBuilder
import com.pulumi.azure.automation.kotlin.inputs.GetIntVariablePlainArgs
import com.pulumi.azure.automation.kotlin.inputs.GetIntVariablePlainArgsBuilder
import com.pulumi.azure.automation.kotlin.inputs.GetRunbookPlainArgs
import com.pulumi.azure.automation.kotlin.inputs.GetRunbookPlainArgsBuilder
import com.pulumi.azure.automation.kotlin.inputs.GetStringVariablePlainArgs
import com.pulumi.azure.automation.kotlin.inputs.GetStringVariablePlainArgsBuilder
import com.pulumi.azure.automation.kotlin.inputs.GetVariableObjectPlainArgs
import com.pulumi.azure.automation.kotlin.inputs.GetVariableObjectPlainArgsBuilder
import com.pulumi.azure.automation.kotlin.inputs.GetVariablesPlainArgs
import com.pulumi.azure.automation.kotlin.inputs.GetVariablesPlainArgsBuilder
import com.pulumi.azure.automation.kotlin.outputs.GetAccountResult
import com.pulumi.azure.automation.kotlin.outputs.GetBoolVariableResult
import com.pulumi.azure.automation.kotlin.outputs.GetDateTimeVariableResult
import com.pulumi.azure.automation.kotlin.outputs.GetIntVariableResult
import com.pulumi.azure.automation.kotlin.outputs.GetRunbookResult
import com.pulumi.azure.automation.kotlin.outputs.GetStringVariableResult
import com.pulumi.azure.automation.kotlin.outputs.GetVariableObjectResult
import com.pulumi.azure.automation.kotlin.outputs.GetVariablesResult
import kotlinx.coroutines.future.await
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import com.pulumi.azure.automation.kotlin.outputs.GetAccountResult.Companion.toKotlin as getAccountResultToKotlin
import com.pulumi.azure.automation.kotlin.outputs.GetBoolVariableResult.Companion.toKotlin as getBoolVariableResultToKotlin
import com.pulumi.azure.automation.kotlin.outputs.GetDateTimeVariableResult.Companion.toKotlin as getDateTimeVariableResultToKotlin
import com.pulumi.azure.automation.kotlin.outputs.GetIntVariableResult.Companion.toKotlin as getIntVariableResultToKotlin
import com.pulumi.azure.automation.kotlin.outputs.GetRunbookResult.Companion.toKotlin as getRunbookResultToKotlin
import com.pulumi.azure.automation.kotlin.outputs.GetStringVariableResult.Companion.toKotlin as getStringVariableResultToKotlin
import com.pulumi.azure.automation.kotlin.outputs.GetVariableObjectResult.Companion.toKotlin as getVariableObjectResultToKotlin
import com.pulumi.azure.automation.kotlin.outputs.GetVariablesResult.Companion.toKotlin as getVariablesResultToKotlin

public object AutomationFunctions {
    /**
     * Use this data source to access information about an existing Automation Account.
     * ## Example Usage
     * 
     * ```typescript
     * import * as pulumi from "@pulumi/pulumi";
     * import * as azure from "@pulumi/azure";
     * const example = azure.automation.getAccount({
     *     name: "example-account",
     *     resourceGroupName: "example-resources",
     * });
     * export const automationAccountId = example.then(example => example.id);
     * ```
     * ```python
     * import pulumi
     * import pulumi_azure as azure
     * example = azure.automation.get_account(name="example-account",
     *     resource_group_name="example-resources")
     * pulumi.export("automationAccountId", example.id)
     * ```
     * ```csharp
     * using System.Collections.Generic;
     * using System.Linq;
     * using Pulumi;
     * using Azure = Pulumi.Azure;
     * return await Deployment.RunAsync(() =>
     * {
     *     var example = Azure.Automation.GetAccount.Invoke(new()
     *     {
     *         Name = "example-account",
     *         ResourceGroupName = "example-resources",
     *     });
     *     return new Dictionary
     *     {
     *         ["automationAccountId"] = example.Apply(getAccountResult => getAccountResult.Id),
     *     };
     * });
     * ```
     * ```go
     * package main
     * import (
     * 	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/automation"
     * 	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
     * )
     * func main() {
     * 	pulumi.Run(func(ctx *pulumi.Context) error {
     * 		example, err := automation.LookupAccount(ctx, &automation.LookupAccountArgs{
     * 			Name:              "example-account",
     * 			ResourceGroupName: "example-resources",
     * 		}, nil)
     * 		if err != nil {
     * 			return err
     * 		}
     * 		ctx.Export("automationAccountId", 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.automation.AutomationFunctions;
     * import com.pulumi.azure.automation.inputs.GetAccountArgs;
     * 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 = AutomationFunctions.getAccount(GetAccountArgs.builder()
     *             .name("example-account")
     *             .resourceGroupName("example-resources")
     *             .build());
     *         ctx.export("automationAccountId", example.applyValue(getAccountResult -> getAccountResult.id()));
     *     }
     * }
     * ```
     * ```yaml
     * variables:
     *   example:
     *     fn::invoke:
     *       Function: azure:automation:getAccount
     *       Arguments:
     *         name: example-account
     *         resourceGroupName: example-resources
     * outputs:
     *   automationAccountId: ${example.id}
     * ```
     * 
     * @param argument A collection of arguments for invoking getAccount.
     * @return A collection of values returned by getAccount.
     */
    public suspend fun getAccount(argument: GetAccountPlainArgs): GetAccountResult =
        getAccountResultToKotlin(getAccountPlain(argument.toJava()).await())

    /**
     * @see [getAccount].
     * @param name The name of the Automation Account.
     * @param resourceGroupName Specifies the name of the Resource Group where the Automation Account exists.
     * @return A collection of values returned by getAccount.
     */
    public suspend fun getAccount(name: String, resourceGroupName: String): GetAccountResult {
        val argument = GetAccountPlainArgs(
            name = name,
            resourceGroupName = resourceGroupName,
        )
        return getAccountResultToKotlin(getAccountPlain(argument.toJava()).await())
    }

    /**
     * @see [getAccount].
     * @param argument Builder for [com.pulumi.azure.automation.kotlin.inputs.GetAccountPlainArgs].
     * @return A collection of values returned by getAccount.
     */
    public suspend fun getAccount(argument: suspend GetAccountPlainArgsBuilder.() -> Unit): GetAccountResult {
        val builder = GetAccountPlainArgsBuilder()
        builder.argument()
        val builtArgument = builder.build()
        return getAccountResultToKotlin(getAccountPlain(builtArgument.toJava()).await())
    }

    /**
     * Use this data source to access information about an existing Automation Bool Variable.
     * ## Example Usage
     * 
     * ```typescript
     * import * as pulumi from "@pulumi/pulumi";
     * import * as azure from "@pulumi/azure";
     * const example = azure.automation.getBoolVariable({
     *     name: "tfex-example-var",
     *     resourceGroupName: "tfex-example-rg",
     *     automationAccountName: "tfex-example-account",
     * });
     * export const variableId = example.then(example => example.id);
     * ```
     * ```python
     * import pulumi
     * import pulumi_azure as azure
     * example = azure.automation.get_bool_variable(name="tfex-example-var",
     *     resource_group_name="tfex-example-rg",
     *     automation_account_name="tfex-example-account")
     * pulumi.export("variableId", example.id)
     * ```
     * ```csharp
     * using System.Collections.Generic;
     * using System.Linq;
     * using Pulumi;
     * using Azure = Pulumi.Azure;
     * return await Deployment.RunAsync(() =>
     * {
     *     var example = Azure.Automation.GetBoolVariable.Invoke(new()
     *     {
     *         Name = "tfex-example-var",
     *         ResourceGroupName = "tfex-example-rg",
     *         AutomationAccountName = "tfex-example-account",
     *     });
     *     return new Dictionary
     *     {
     *         ["variableId"] = example.Apply(getBoolVariableResult => getBoolVariableResult.Id),
     *     };
     * });
     * ```
     * ```go
     * package main
     * import (
     * 	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/automation"
     * 	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
     * )
     * func main() {
     * 	pulumi.Run(func(ctx *pulumi.Context) error {
     * 		example, err := automation.LookupBoolVariable(ctx, &automation.LookupBoolVariableArgs{
     * 			Name:                  "tfex-example-var",
     * 			ResourceGroupName:     "tfex-example-rg",
     * 			AutomationAccountName: "tfex-example-account",
     * 		}, nil)
     * 		if err != nil {
     * 			return err
     * 		}
     * 		ctx.Export("variableId", 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.automation.AutomationFunctions;
     * import com.pulumi.azure.automation.inputs.GetBoolVariableArgs;
     * 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 = AutomationFunctions.getBoolVariable(GetBoolVariableArgs.builder()
     *             .name("tfex-example-var")
     *             .resourceGroupName("tfex-example-rg")
     *             .automationAccountName("tfex-example-account")
     *             .build());
     *         ctx.export("variableId", example.applyValue(getBoolVariableResult -> getBoolVariableResult.id()));
     *     }
     * }
     * ```
     * ```yaml
     * variables:
     *   example:
     *     fn::invoke:
     *       Function: azure:automation:getBoolVariable
     *       Arguments:
     *         name: tfex-example-var
     *         resourceGroupName: tfex-example-rg
     *         automationAccountName: tfex-example-account
     * outputs:
     *   variableId: ${example.id}
     * ```
     * 
     * @param argument A collection of arguments for invoking getBoolVariable.
     * @return A collection of values returned by getBoolVariable.
     */
    public suspend fun getBoolVariable(argument: GetBoolVariablePlainArgs): GetBoolVariableResult =
        getBoolVariableResultToKotlin(getBoolVariablePlain(argument.toJava()).await())

    /**
     * @see [getBoolVariable].
     * @param automationAccountName The name of the automation account in which the Automation Variable exists.
     * @param name The name of the Automation Variable.
     * @param resourceGroupName The Name of the Resource Group where the automation account exists.
     * @return A collection of values returned by getBoolVariable.
     */
    public suspend fun getBoolVariable(
        automationAccountName: String,
        name: String,
        resourceGroupName: String,
    ): GetBoolVariableResult {
        val argument = GetBoolVariablePlainArgs(
            automationAccountName = automationAccountName,
            name = name,
            resourceGroupName = resourceGroupName,
        )
        return getBoolVariableResultToKotlin(getBoolVariablePlain(argument.toJava()).await())
    }

    /**
     * @see [getBoolVariable].
     * @param argument Builder for [com.pulumi.azure.automation.kotlin.inputs.GetBoolVariablePlainArgs].
     * @return A collection of values returned by getBoolVariable.
     */
    public suspend fun getBoolVariable(argument: suspend GetBoolVariablePlainArgsBuilder.() -> Unit): GetBoolVariableResult {
        val builder = GetBoolVariablePlainArgsBuilder()
        builder.argument()
        val builtArgument = builder.build()
        return getBoolVariableResultToKotlin(getBoolVariablePlain(builtArgument.toJava()).await())
    }

    /**
     * Use this data source to access information about an existing Automation Datetime Variable.
     * ## Example Usage
     * 
     * ```typescript
     * import * as pulumi from "@pulumi/pulumi";
     * import * as azure from "@pulumi/azure";
     * const example = azure.automation.getDateTimeVariable({
     *     name: "tfex-example-var",
     *     resourceGroupName: "tfex-example-rg",
     *     automationAccountName: "tfex-example-account",
     * });
     * export const variableId = example.then(example => example.id);
     * ```
     * ```python
     * import pulumi
     * import pulumi_azure as azure
     * example = azure.automation.get_date_time_variable(name="tfex-example-var",
     *     resource_group_name="tfex-example-rg",
     *     automation_account_name="tfex-example-account")
     * pulumi.export("variableId", example.id)
     * ```
     * ```csharp
     * using System.Collections.Generic;
     * using System.Linq;
     * using Pulumi;
     * using Azure = Pulumi.Azure;
     * return await Deployment.RunAsync(() =>
     * {
     *     var example = Azure.Automation.GetDateTimeVariable.Invoke(new()
     *     {
     *         Name = "tfex-example-var",
     *         ResourceGroupName = "tfex-example-rg",
     *         AutomationAccountName = "tfex-example-account",
     *     });
     *     return new Dictionary
     *     {
     *         ["variableId"] = example.Apply(getDateTimeVariableResult => getDateTimeVariableResult.Id),
     *     };
     * });
     * ```
     * ```go
     * package main
     * import (
     * 	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/automation"
     * 	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
     * )
     * func main() {
     * 	pulumi.Run(func(ctx *pulumi.Context) error {
     * 		example, err := automation.LookupDateTimeVariable(ctx, &automation.LookupDateTimeVariableArgs{
     * 			Name:                  "tfex-example-var",
     * 			ResourceGroupName:     "tfex-example-rg",
     * 			AutomationAccountName: "tfex-example-account",
     * 		}, nil)
     * 		if err != nil {
     * 			return err
     * 		}
     * 		ctx.Export("variableId", 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.automation.AutomationFunctions;
     * import com.pulumi.azure.automation.inputs.GetDateTimeVariableArgs;
     * 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 = AutomationFunctions.getDateTimeVariable(GetDateTimeVariableArgs.builder()
     *             .name("tfex-example-var")
     *             .resourceGroupName("tfex-example-rg")
     *             .automationAccountName("tfex-example-account")
     *             .build());
     *         ctx.export("variableId", example.applyValue(getDateTimeVariableResult -> getDateTimeVariableResult.id()));
     *     }
     * }
     * ```
     * ```yaml
     * variables:
     *   example:
     *     fn::invoke:
     *       Function: azure:automation:getDateTimeVariable
     *       Arguments:
     *         name: tfex-example-var
     *         resourceGroupName: tfex-example-rg
     *         automationAccountName: tfex-example-account
     * outputs:
     *   variableId: ${example.id}
     * ```
     * 
     * @param argument A collection of arguments for invoking getDateTimeVariable.
     * @return A collection of values returned by getDateTimeVariable.
     */
    public suspend fun getDateTimeVariable(argument: GetDateTimeVariablePlainArgs): GetDateTimeVariableResult =
        getDateTimeVariableResultToKotlin(getDateTimeVariablePlain(argument.toJava()).await())

    /**
     * @see [getDateTimeVariable].
     * @param automationAccountName The name of the automation account in which the Automation Variable exists.
     * @param name The name of the Automation Variable.
     * @param resourceGroupName The Name of the Resource Group where the automation account exists.
     * @return A collection of values returned by getDateTimeVariable.
     */
    public suspend fun getDateTimeVariable(
        automationAccountName: String,
        name: String,
        resourceGroupName: String,
    ): GetDateTimeVariableResult {
        val argument = GetDateTimeVariablePlainArgs(
            automationAccountName = automationAccountName,
            name = name,
            resourceGroupName = resourceGroupName,
        )
        return getDateTimeVariableResultToKotlin(getDateTimeVariablePlain(argument.toJava()).await())
    }

    /**
     * @see [getDateTimeVariable].
     * @param argument Builder for [com.pulumi.azure.automation.kotlin.inputs.GetDateTimeVariablePlainArgs].
     * @return A collection of values returned by getDateTimeVariable.
     */
    public suspend fun getDateTimeVariable(argument: suspend GetDateTimeVariablePlainArgsBuilder.() -> Unit): GetDateTimeVariableResult {
        val builder = GetDateTimeVariablePlainArgsBuilder()
        builder.argument()
        val builtArgument = builder.build()
        return getDateTimeVariableResultToKotlin(getDateTimeVariablePlain(builtArgument.toJava()).await())
    }

    /**
     * Use this data source to access information about an existing Automation Int Variable.
     * ## Example Usage
     * 
     * ```typescript
     * import * as pulumi from "@pulumi/pulumi";
     * import * as azure from "@pulumi/azure";
     * const example = azure.automation.getIntVariable({
     *     name: "tfex-example-var",
     *     resourceGroupName: "tfex-example-rg",
     *     automationAccountName: "tfex-example-account",
     * });
     * export const variableId = example.then(example => example.id);
     * ```
     * ```python
     * import pulumi
     * import pulumi_azure as azure
     * example = azure.automation.get_int_variable(name="tfex-example-var",
     *     resource_group_name="tfex-example-rg",
     *     automation_account_name="tfex-example-account")
     * pulumi.export("variableId", example.id)
     * ```
     * ```csharp
     * using System.Collections.Generic;
     * using System.Linq;
     * using Pulumi;
     * using Azure = Pulumi.Azure;
     * return await Deployment.RunAsync(() =>
     * {
     *     var example = Azure.Automation.GetIntVariable.Invoke(new()
     *     {
     *         Name = "tfex-example-var",
     *         ResourceGroupName = "tfex-example-rg",
     *         AutomationAccountName = "tfex-example-account",
     *     });
     *     return new Dictionary
     *     {
     *         ["variableId"] = example.Apply(getIntVariableResult => getIntVariableResult.Id),
     *     };
     * });
     * ```
     * ```go
     * package main
     * import (
     * 	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/automation"
     * 	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
     * )
     * func main() {
     * 	pulumi.Run(func(ctx *pulumi.Context) error {
     * 		example, err := automation.LookupIntVariable(ctx, &automation.LookupIntVariableArgs{
     * 			Name:                  "tfex-example-var",
     * 			ResourceGroupName:     "tfex-example-rg",
     * 			AutomationAccountName: "tfex-example-account",
     * 		}, nil)
     * 		if err != nil {
     * 			return err
     * 		}
     * 		ctx.Export("variableId", 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.automation.AutomationFunctions;
     * import com.pulumi.azure.automation.inputs.GetIntVariableArgs;
     * 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 = AutomationFunctions.getIntVariable(GetIntVariableArgs.builder()
     *             .name("tfex-example-var")
     *             .resourceGroupName("tfex-example-rg")
     *             .automationAccountName("tfex-example-account")
     *             .build());
     *         ctx.export("variableId", example.applyValue(getIntVariableResult -> getIntVariableResult.id()));
     *     }
     * }
     * ```
     * ```yaml
     * variables:
     *   example:
     *     fn::invoke:
     *       Function: azure:automation:getIntVariable
     *       Arguments:
     *         name: tfex-example-var
     *         resourceGroupName: tfex-example-rg
     *         automationAccountName: tfex-example-account
     * outputs:
     *   variableId: ${example.id}
     * ```
     * 
     * @param argument A collection of arguments for invoking getIntVariable.
     * @return A collection of values returned by getIntVariable.
     */
    public suspend fun getIntVariable(argument: GetIntVariablePlainArgs): GetIntVariableResult =
        getIntVariableResultToKotlin(getIntVariablePlain(argument.toJava()).await())

    /**
     * @see [getIntVariable].
     * @param automationAccountName The name of the automation account in which the Automation Variable exists.
     * @param name The name of the Automation Variable.
     * @param resourceGroupName The Name of the Resource Group where the automation account exists.
     * @return A collection of values returned by getIntVariable.
     */
    public suspend fun getIntVariable(
        automationAccountName: String,
        name: String,
        resourceGroupName: String,
    ): GetIntVariableResult {
        val argument = GetIntVariablePlainArgs(
            automationAccountName = automationAccountName,
            name = name,
            resourceGroupName = resourceGroupName,
        )
        return getIntVariableResultToKotlin(getIntVariablePlain(argument.toJava()).await())
    }

    /**
     * @see [getIntVariable].
     * @param argument Builder for [com.pulumi.azure.automation.kotlin.inputs.GetIntVariablePlainArgs].
     * @return A collection of values returned by getIntVariable.
     */
    public suspend fun getIntVariable(argument: suspend GetIntVariablePlainArgsBuilder.() -> Unit): GetIntVariableResult {
        val builder = GetIntVariablePlainArgsBuilder()
        builder.argument()
        val builtArgument = builder.build()
        return getIntVariableResultToKotlin(getIntVariablePlain(builtArgument.toJava()).await())
    }

    /**
     * Use this data source to access information about an existing Automation Runbook.
     * ## Example Usage
     * 
     * ```typescript
     * import * as pulumi from "@pulumi/pulumi";
     * import * as azure from "@pulumi/azure";
     * const example = azure.automation.getRunbook({
     *     name: "existing-runbook",
     *     resourceGroupName: "existing",
     *     automationAccountName: "existing-automation",
     * });
     * export const id = example.then(example => example.id);
     * ```
     * ```python
     * import pulumi
     * import pulumi_azure as azure
     * example = azure.automation.get_runbook(name="existing-runbook",
     *     resource_group_name="existing",
     *     automation_account_name="existing-automation")
     * 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.Automation.GetRunbook.Invoke(new()
     *     {
     *         Name = "existing-runbook",
     *         ResourceGroupName = "existing",
     *         AutomationAccountName = "existing-automation",
     *     });
     *     return new Dictionary
     *     {
     *         ["id"] = example.Apply(getRunbookResult => getRunbookResult.Id),
     *     };
     * });
     * ```
     * ```go
     * package main
     * import (
     * 	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/automation"
     * 	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
     * )
     * func main() {
     * 	pulumi.Run(func(ctx *pulumi.Context) error {
     * 		example, err := automation.GetRunbook(ctx, &automation.GetRunbookArgs{
     * 			Name:                  "existing-runbook",
     * 			ResourceGroupName:     "existing",
     * 			AutomationAccountName: "existing-automation",
     * 		}, 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.automation.AutomationFunctions;
     * import com.pulumi.azure.automation.inputs.GetRunbookArgs;
     * 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 = AutomationFunctions.getRunbook(GetRunbookArgs.builder()
     *             .name("existing-runbook")
     *             .resourceGroupName("existing")
     *             .automationAccountName("existing-automation")
     *             .build());
     *         ctx.export("id", example.applyValue(getRunbookResult -> getRunbookResult.id()));
     *     }
     * }
     * ```
     * ```yaml
     * variables:
     *   example:
     *     fn::invoke:
     *       Function: azure:automation:getRunbook
     *       Arguments:
     *         name: existing-runbook
     *         resourceGroupName: existing
     *         automationAccountName: existing-automation
     * outputs:
     *   id: ${example.id}
     * ```
     * 
     * @param argument A collection of arguments for invoking getRunbook.
     * @return A collection of values returned by getRunbook.
     */
    public suspend fun getRunbook(argument: GetRunbookPlainArgs): GetRunbookResult =
        getRunbookResultToKotlin(getRunbookPlain(argument.toJava()).await())

    /**
     * @see [getRunbook].
     * @param automationAccountName The name of the Automation Account the runbook belongs to.
     * @param name The name of the Automation Runbook.
     * @param resourceGroupName The name of the Resource Group where the Automation exists.
     * @return A collection of values returned by getRunbook.
     */
    public suspend fun getRunbook(
        automationAccountName: String,
        name: String,
        resourceGroupName: String,
    ): GetRunbookResult {
        val argument = GetRunbookPlainArgs(
            automationAccountName = automationAccountName,
            name = name,
            resourceGroupName = resourceGroupName,
        )
        return getRunbookResultToKotlin(getRunbookPlain(argument.toJava()).await())
    }

    /**
     * @see [getRunbook].
     * @param argument Builder for [com.pulumi.azure.automation.kotlin.inputs.GetRunbookPlainArgs].
     * @return A collection of values returned by getRunbook.
     */
    public suspend fun getRunbook(argument: suspend GetRunbookPlainArgsBuilder.() -> Unit): GetRunbookResult {
        val builder = GetRunbookPlainArgsBuilder()
        builder.argument()
        val builtArgument = builder.build()
        return getRunbookResultToKotlin(getRunbookPlain(builtArgument.toJava()).await())
    }

    /**
     * Use this data source to access information about an existing Automation String Variable.
     * ## Example Usage
     * 
     * ```typescript
     * import * as pulumi from "@pulumi/pulumi";
     * import * as azure from "@pulumi/azure";
     * const example = azure.automation.getStringVariable({
     *     name: "tfex-example-var",
     *     resourceGroupName: "tfex-example-rg",
     *     automationAccountName: "tfex-example-account",
     * });
     * export const variableId = example.then(example => example.id);
     * ```
     * ```python
     * import pulumi
     * import pulumi_azure as azure
     * example = azure.automation.get_string_variable(name="tfex-example-var",
     *     resource_group_name="tfex-example-rg",
     *     automation_account_name="tfex-example-account")
     * pulumi.export("variableId", example.id)
     * ```
     * ```csharp
     * using System.Collections.Generic;
     * using System.Linq;
     * using Pulumi;
     * using Azure = Pulumi.Azure;
     * return await Deployment.RunAsync(() =>
     * {
     *     var example = Azure.Automation.GetStringVariable.Invoke(new()
     *     {
     *         Name = "tfex-example-var",
     *         ResourceGroupName = "tfex-example-rg",
     *         AutomationAccountName = "tfex-example-account",
     *     });
     *     return new Dictionary
     *     {
     *         ["variableId"] = example.Apply(getStringVariableResult => getStringVariableResult.Id),
     *     };
     * });
     * ```
     * ```go
     * package main
     * import (
     * 	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/automation"
     * 	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
     * )
     * func main() {
     * 	pulumi.Run(func(ctx *pulumi.Context) error {
     * 		example, err := automation.LookupStringVariable(ctx, &automation.LookupStringVariableArgs{
     * 			Name:                  "tfex-example-var",
     * 			ResourceGroupName:     "tfex-example-rg",
     * 			AutomationAccountName: "tfex-example-account",
     * 		}, nil)
     * 		if err != nil {
     * 			return err
     * 		}
     * 		ctx.Export("variableId", 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.automation.AutomationFunctions;
     * import com.pulumi.azure.automation.inputs.GetStringVariableArgs;
     * 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 = AutomationFunctions.getStringVariable(GetStringVariableArgs.builder()
     *             .name("tfex-example-var")
     *             .resourceGroupName("tfex-example-rg")
     *             .automationAccountName("tfex-example-account")
     *             .build());
     *         ctx.export("variableId", example.applyValue(getStringVariableResult -> getStringVariableResult.id()));
     *     }
     * }
     * ```
     * ```yaml
     * variables:
     *   example:
     *     fn::invoke:
     *       Function: azure:automation:getStringVariable
     *       Arguments:
     *         name: tfex-example-var
     *         resourceGroupName: tfex-example-rg
     *         automationAccountName: tfex-example-account
     * outputs:
     *   variableId: ${example.id}
     * ```
     * 
     * @param argument A collection of arguments for invoking getStringVariable.
     * @return A collection of values returned by getStringVariable.
     */
    public suspend fun getStringVariable(argument: GetStringVariablePlainArgs): GetStringVariableResult =
        getStringVariableResultToKotlin(getStringVariablePlain(argument.toJava()).await())

    /**
     * @see [getStringVariable].
     * @param automationAccountName The name of the automation account in which the Automation Variable exists.
     * @param name The name of the Automation Variable.
     * @param resourceGroupName The Name of the Resource Group where the automation account exists.
     * @return A collection of values returned by getStringVariable.
     */
    public suspend fun getStringVariable(
        automationAccountName: String,
        name: String,
        resourceGroupName: String,
    ): GetStringVariableResult {
        val argument = GetStringVariablePlainArgs(
            automationAccountName = automationAccountName,
            name = name,
            resourceGroupName = resourceGroupName,
        )
        return getStringVariableResultToKotlin(getStringVariablePlain(argument.toJava()).await())
    }

    /**
     * @see [getStringVariable].
     * @param argument Builder for [com.pulumi.azure.automation.kotlin.inputs.GetStringVariablePlainArgs].
     * @return A collection of values returned by getStringVariable.
     */
    public suspend fun getStringVariable(argument: suspend GetStringVariablePlainArgsBuilder.() -> Unit): GetStringVariableResult {
        val builder = GetStringVariablePlainArgsBuilder()
        builder.argument()
        val builtArgument = builder.build()
        return getStringVariableResultToKotlin(getStringVariablePlain(builtArgument.toJava()).await())
    }

    /**
     * Use this data source to access information about an existing Automation Object Variable.
     * @param argument A collection of arguments for invoking getVariableObject.
     * @return A collection of values returned by getVariableObject.
     */
    public suspend fun getVariableObject(argument: GetVariableObjectPlainArgs): GetVariableObjectResult =
        getVariableObjectResultToKotlin(getVariableObjectPlain(argument.toJava()).await())

    /**
     * @see [getVariableObject].
     * @param automationAccountName The name of the automation account in which the Automation Variable exists.
     * @param name The name of the Automation Variable.
     * @param resourceGroupName The Name of the Resource Group where the automation account exists.
     * @return A collection of values returned by getVariableObject.
     */
    public suspend fun getVariableObject(
        automationAccountName: String,
        name: String,
        resourceGroupName: String,
    ): GetVariableObjectResult {
        val argument = GetVariableObjectPlainArgs(
            automationAccountName = automationAccountName,
            name = name,
            resourceGroupName = resourceGroupName,
        )
        return getVariableObjectResultToKotlin(getVariableObjectPlain(argument.toJava()).await())
    }

    /**
     * @see [getVariableObject].
     * @param argument Builder for [com.pulumi.azure.automation.kotlin.inputs.GetVariableObjectPlainArgs].
     * @return A collection of values returned by getVariableObject.
     */
    public suspend fun getVariableObject(argument: suspend GetVariableObjectPlainArgsBuilder.() -> Unit): GetVariableObjectResult {
        val builder = GetVariableObjectPlainArgsBuilder()
        builder.argument()
        val builtArgument = builder.build()
        return getVariableObjectResultToKotlin(getVariableObjectPlain(builtArgument.toJava()).await())
    }

    /**
     * Use this data source to get all variables in an Automation Account.
     * ## Example Usage
     * 
     * ```typescript
     * import * as pulumi from "@pulumi/pulumi";
     * import * as azure from "@pulumi/azure";
     * const example = azure.automation.getAccount({
     *     name: "example-account",
     *     resourceGroupName: "example-resources",
     * });
     * const exampleGetVariables = example.then(example => azure.automation.getVariables({
     *     automationAccountId: example.id,
     * }));
     * export const stringVars = exampleAzurermAutomationVariableString.string;
     * ```
     * ```python
     * import pulumi
     * import pulumi_azure as azure
     * example = azure.automation.get_account(name="example-account",
     *     resource_group_name="example-resources")
     * example_get_variables = azure.automation.get_variables(automation_account_id=example.id)
     * pulumi.export("stringVars", example_azurerm_automation_variable_string["string"])
     * ```
     * ```csharp
     * using System.Collections.Generic;
     * using System.Linq;
     * using Pulumi;
     * using Azure = Pulumi.Azure;
     * return await Deployment.RunAsync(() =>
     * {
     *     var example = Azure.Automation.GetAccount.Invoke(new()
     *     {
     *         Name = "example-account",
     *         ResourceGroupName = "example-resources",
     *     });
     *     var exampleGetVariables = Azure.Automation.GetVariables.Invoke(new()
     *     {
     *         AutomationAccountId = example.Apply(getAccountResult => getAccountResult.Id),
     *     });
     *     return new Dictionary
     *     {
     *         ["stringVars"] = exampleAzurermAutomationVariableString.String,
     *     };
     * });
     * ```
     * ```go
     * package main
     * import (
     * 	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/automation"
     * 	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
     * )
     * func main() {
     * 	pulumi.Run(func(ctx *pulumi.Context) error {
     * 		example, err := automation.LookupAccount(ctx, &automation.LookupAccountArgs{
     * 			Name:              "example-account",
     * 			ResourceGroupName: "example-resources",
     * 		}, nil)
     * 		if err != nil {
     * 			return err
     * 		}
     * 		_, err = automation.GetVariables(ctx, &automation.GetVariablesArgs{
     * 			AutomationAccountId: example.Id,
     * 		}, nil)
     * 		if err != nil {
     * 			return err
     * 		}
     * 		ctx.Export("stringVars", exampleAzurermAutomationVariableString.String)
     * 		return nil
     * 	})
     * }
     * ```
     * ```java
     * package generated_program;
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.azure.automation.AutomationFunctions;
     * import com.pulumi.azure.automation.inputs.GetAccountArgs;
     * import com.pulumi.azure.automation.inputs.GetVariablesArgs;
     * 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 = AutomationFunctions.getAccount(GetAccountArgs.builder()
     *             .name("example-account")
     *             .resourceGroupName("example-resources")
     *             .build());
     *         final var exampleGetVariables = AutomationFunctions.getVariables(GetVariablesArgs.builder()
     *             .automationAccountId(example.applyValue(getAccountResult -> getAccountResult.id()))
     *             .build());
     *         ctx.export("stringVars", exampleAzurermAutomationVariableString.string());
     *     }
     * }
     * ```
     * ```yaml
     * variables:
     *   example:
     *     fn::invoke:
     *       Function: azure:automation:getAccount
     *       Arguments:
     *         name: example-account
     *         resourceGroupName: example-resources
     *   exampleGetVariables:
     *     fn::invoke:
     *       Function: azure:automation:getVariables
     *       Arguments:
     *         automationAccountId: ${example.id}
     * outputs:
     *   stringVars: ${exampleAzurermAutomationVariableString.string}
     * ```
     * 
     * @param argument A collection of arguments for invoking getVariables.
     * @return A collection of values returned by getVariables.
     */
    public suspend fun getVariables(argument: GetVariablesPlainArgs): GetVariablesResult =
        getVariablesResultToKotlin(getVariablesPlain(argument.toJava()).await())

    /**
     * @see [getVariables].
     * @param automationAccountId The resource ID of the automation account.
     * @return A collection of values returned by getVariables.
     */
    public suspend fun getVariables(automationAccountId: String): GetVariablesResult {
        val argument = GetVariablesPlainArgs(
            automationAccountId = automationAccountId,
        )
        return getVariablesResultToKotlin(getVariablesPlain(argument.toJava()).await())
    }

    /**
     * @see [getVariables].
     * @param argument Builder for [com.pulumi.azure.automation.kotlin.inputs.GetVariablesPlainArgs].
     * @return A collection of values returned by getVariables.
     */
    public suspend fun getVariables(argument: suspend GetVariablesPlainArgsBuilder.() -> Unit): GetVariablesResult {
        val builder = GetVariablesPlainArgsBuilder()
        builder.argument()
        val builtArgument = builder.build()
        return getVariablesResultToKotlin(getVariablesPlain(builtArgument.toJava()).await())
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy