// *** 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.gcp.bigquerydatapolicy;

import com.pulumi.core.Output;
import com.pulumi.core.TypeShape;
import com.pulumi.deployment.Deployment;
import com.pulumi.deployment.InvokeOptions;
import com.pulumi.gcp.Utilities;
import com.pulumi.gcp.bigquerydatapolicy.inputs.GetIamPolicyArgs;
import com.pulumi.gcp.bigquerydatapolicy.inputs.GetIamPolicyPlainArgs;
import com.pulumi.gcp.bigquerydatapolicy.outputs.GetIamPolicyResult;
import java.util.concurrent.CompletableFuture;

public final class BigquerydatapolicyFunctions {
    /**
     * Retrieves the current IAM policy data for datapolicy
     * 
     * ## example
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.gcp.bigquerydatapolicy.BigquerydatapolicyFunctions;
     * import com.pulumi.gcp.bigquerydatapolicy.inputs.GetIamPolicyArgs;
     * 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 policy = BigquerydatapolicyFunctions.getIamPolicy(GetIamPolicyArgs.builder()
     *             .project(google_bigquery_datapolicy_data_policy.data_policy().project())
     *             .location(google_bigquery_datapolicy_data_policy.data_policy().location())
     *             .dataPolicyId(google_bigquery_datapolicy_data_policy.data_policy().data_policy_id())
     *             .build());
     * 
     *     }
     * }
     * ```
     * 
     */
    public static Output<GetIamPolicyResult> getIamPolicy(GetIamPolicyArgs args) {
        return getIamPolicy(args, InvokeOptions.Empty);
    }
    /**
     * Retrieves the current IAM policy data for datapolicy
     * 
     * ## example
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.gcp.bigquerydatapolicy.BigquerydatapolicyFunctions;
     * import com.pulumi.gcp.bigquerydatapolicy.inputs.GetIamPolicyArgs;
     * 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 policy = BigquerydatapolicyFunctions.getIamPolicy(GetIamPolicyArgs.builder()
     *             .project(google_bigquery_datapolicy_data_policy.data_policy().project())
     *             .location(google_bigquery_datapolicy_data_policy.data_policy().location())
     *             .dataPolicyId(google_bigquery_datapolicy_data_policy.data_policy().data_policy_id())
     *             .build());
     * 
     *     }
     * }
     * ```
     * 
     */
    public static CompletableFuture<GetIamPolicyResult> getIamPolicyPlain(GetIamPolicyPlainArgs args) {
        return getIamPolicyPlain(args, InvokeOptions.Empty);
    }
    /**
     * Retrieves the current IAM policy data for datapolicy
     * 
     * ## example
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.gcp.bigquerydatapolicy.BigquerydatapolicyFunctions;
     * import com.pulumi.gcp.bigquerydatapolicy.inputs.GetIamPolicyArgs;
     * 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 policy = BigquerydatapolicyFunctions.getIamPolicy(GetIamPolicyArgs.builder()
     *             .project(google_bigquery_datapolicy_data_policy.data_policy().project())
     *             .location(google_bigquery_datapolicy_data_policy.data_policy().location())
     *             .dataPolicyId(google_bigquery_datapolicy_data_policy.data_policy().data_policy_id())
     *             .build());
     * 
     *     }
     * }
     * ```
     * 
     */
    public static Output<GetIamPolicyResult> getIamPolicy(GetIamPolicyArgs args, InvokeOptions options) {
        return Deployment.getInstance().invoke("gcp:bigquerydatapolicy/getIamPolicy:getIamPolicy", TypeShape.of(GetIamPolicyResult.class), args, Utilities.withVersion(options));
    }
    /**
     * Retrieves the current IAM policy data for datapolicy
     * 
     * ## example
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.gcp.bigquerydatapolicy.BigquerydatapolicyFunctions;
     * import com.pulumi.gcp.bigquerydatapolicy.inputs.GetIamPolicyArgs;
     * 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 policy = BigquerydatapolicyFunctions.getIamPolicy(GetIamPolicyArgs.builder()
     *             .project(google_bigquery_datapolicy_data_policy.data_policy().project())
     *             .location(google_bigquery_datapolicy_data_policy.data_policy().location())
     *             .dataPolicyId(google_bigquery_datapolicy_data_policy.data_policy().data_policy_id())
     *             .build());
     * 
     *     }
     * }
     * ```
     * 
     */
    public static CompletableFuture<GetIamPolicyResult> getIamPolicyPlain(GetIamPolicyPlainArgs args, InvokeOptions options) {
        return Deployment.getInstance().invokeAsync("gcp:bigquerydatapolicy/getIamPolicy:getIamPolicy", TypeShape.of(GetIamPolicyResult.class), args, Utilities.withVersion(options));
    }
}
