
com.pulumi.azure.advisor.kotlin.AdvisorFunctions.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.azure.advisor.kotlin
import com.pulumi.azure.advisor.AdvisorFunctions.getRecommendationsPlain
import com.pulumi.azure.advisor.kotlin.inputs.GetRecommendationsPlainArgs
import com.pulumi.azure.advisor.kotlin.inputs.GetRecommendationsPlainArgsBuilder
import com.pulumi.azure.advisor.kotlin.outputs.GetRecommendationsResult
import com.pulumi.azure.advisor.kotlin.outputs.GetRecommendationsResult.Companion.toKotlin
import kotlinx.coroutines.future.await
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
public object AdvisorFunctions {
/**
* Use this data source to access information about an existing Advisor Recommendations.
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as azure from "@pulumi/azure";
* const example = azure.advisor.getRecommendations({
* filterByCategories: [
* "security",
* "cost",
* ],
* filterByResourceGroups: ["example-resgroups"],
* });
* export const recommendations = example.then(example => example.recommendations);
* ```
* ```python
* import pulumi
* import pulumi_azure as azure
* example = azure.advisor.get_recommendations(filter_by_categories=[
* "security",
* "cost",
* ],
* filter_by_resource_groups=["example-resgroups"])
* pulumi.export("recommendations", example.recommendations)
* ```
* ```csharp
* using System.Collections.Generic;
* using System.Linq;
* using Pulumi;
* using Azure = Pulumi.Azure;
* return await Deployment.RunAsync(() =>
* {
* var example = Azure.Advisor.GetRecommendations.Invoke(new()
* {
* FilterByCategories = new[]
* {
* "security",
* "cost",
* },
* FilterByResourceGroups = new[]
* {
* "example-resgroups",
* },
* });
* return new Dictionary
* {
* ["recommendations"] = example.Apply(getRecommendationsResult => getRecommendationsResult.Recommendations),
* };
* });
* ```
* ```go
* package main
* import (
* "github.com/pulumi/pulumi-azure/sdk/v5/go/azure/advisor"
* "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
* )
* func main() {
* pulumi.Run(func(ctx *pulumi.Context) error {
* example, err := advisor.GetRecommendations(ctx, &advisor.GetRecommendationsArgs{
* FilterByCategories: []string{
* "security",
* "cost",
* },
* FilterByResourceGroups: []string{
* "example-resgroups",
* },
* }, nil)
* if err != nil {
* return err
* }
* ctx.Export("recommendations", example.Recommendations)
* return nil
* })
* }
* ```
* ```java
* package generated_program;
* import com.pulumi.Context;
* import com.pulumi.Pulumi;
* import com.pulumi.core.Output;
* import com.pulumi.azure.advisor.AdvisorFunctions;
* import com.pulumi.azure.advisor.inputs.GetRecommendationsArgs;
* 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 = AdvisorFunctions.getRecommendations(GetRecommendationsArgs.builder()
* .filterByCategories(
* "security",
* "cost")
* .filterByResourceGroups("example-resgroups")
* .build());
* ctx.export("recommendations", example.applyValue(getRecommendationsResult -> getRecommendationsResult.recommendations()));
* }
* }
* ```
* ```yaml
* variables:
* example:
* fn::invoke:
* Function: azure:advisor:getRecommendations
* Arguments:
* filterByCategories:
* - security
* - cost
* filterByResourceGroups:
* - example-resgroups
* outputs:
* recommendations: ${example.recommendations}
* ```
*
* @param argument A collection of arguments for invoking getRecommendations.
* @return A collection of values returned by getRecommendations.
*/
public suspend fun getRecommendations(argument: GetRecommendationsPlainArgs):
GetRecommendationsResult = toKotlin(getRecommendationsPlain(argument.toJava()).await())
/**
* @see [getRecommendations].
* @param filterByCategories Specifies a list of categories in which the Advisor Recommendations will be listed. Possible values are `HighAvailability`, `Security`, `Performance`, `Cost` and `OperationalExcellence`.
* @param filterByResourceGroups Specifies a list of resource groups about which the Advisor Recommendations will be listed.
* @return A collection of values returned by getRecommendations.
*/
public suspend fun getRecommendations(
filterByCategories: List? = null,
filterByResourceGroups: List? = null,
): GetRecommendationsResult {
val argument = GetRecommendationsPlainArgs(
filterByCategories = filterByCategories,
filterByResourceGroups = filterByResourceGroups,
)
return toKotlin(getRecommendationsPlain(argument.toJava()).await())
}
/**
* @see [getRecommendations].
* @param argument Builder for [com.pulumi.azure.advisor.kotlin.inputs.GetRecommendationsPlainArgs].
* @return A collection of values returned by getRecommendations.
*/
public suspend
fun getRecommendations(argument: suspend GetRecommendationsPlainArgsBuilder.() -> Unit):
GetRecommendationsResult {
val builder = GetRecommendationsPlainArgsBuilder()
builder.argument()
val builtArgument = builder.build()
return toKotlin(getRecommendationsPlain(builtArgument.toJava()).await())
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy