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

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.dataproc.inputs.GetAutoscalingPolicyIamPolicyArgs;
import com.pulumi.gcp.dataproc.inputs.GetAutoscalingPolicyIamPolicyPlainArgs;
import com.pulumi.gcp.dataproc.inputs.GetClusterIamPolicyArgs;
import com.pulumi.gcp.dataproc.inputs.GetClusterIamPolicyPlainArgs;
import com.pulumi.gcp.dataproc.inputs.GetJobIamPolicyArgs;
import com.pulumi.gcp.dataproc.inputs.GetJobIamPolicyPlainArgs;
import com.pulumi.gcp.dataproc.inputs.GetMetastoreFederationIamPolicyArgs;
import com.pulumi.gcp.dataproc.inputs.GetMetastoreFederationIamPolicyPlainArgs;
import com.pulumi.gcp.dataproc.inputs.GetMetastoreServiceIamPolicyArgs;
import com.pulumi.gcp.dataproc.inputs.GetMetastoreServiceIamPolicyPlainArgs;
import com.pulumi.gcp.dataproc.outputs.GetAutoscalingPolicyIamPolicyResult;
import com.pulumi.gcp.dataproc.outputs.GetClusterIamPolicyResult;
import com.pulumi.gcp.dataproc.outputs.GetJobIamPolicyResult;
import com.pulumi.gcp.dataproc.outputs.GetMetastoreFederationIamPolicyResult;
import com.pulumi.gcp.dataproc.outputs.GetMetastoreServiceIamPolicyResult;
import java.util.concurrent.CompletableFuture;

public final class DataprocFunctions {
    /**
     * Retrieves the current IAM policy data for autoscalingpolicy
     * 
     * ## example
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.gcp.dataproc.DataprocFunctions;
     * import com.pulumi.gcp.dataproc.inputs.GetAutoscalingPolicyIamPolicyArgs;
     * 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 = DataprocFunctions.getAutoscalingPolicyIamPolicy(GetAutoscalingPolicyIamPolicyArgs.builder()
     *             .project(google_dataproc_autoscaling_policy.basic().project())
     *             .location(google_dataproc_autoscaling_policy.basic().location())
     *             .policyId(google_dataproc_autoscaling_policy.basic().policy_id())
     *             .build());
     * 
     *     }
     * }
     * ```
     * 
     */
    public static Output<GetAutoscalingPolicyIamPolicyResult> getAutoscalingPolicyIamPolicy(GetAutoscalingPolicyIamPolicyArgs args) {
        return getAutoscalingPolicyIamPolicy(args, InvokeOptions.Empty);
    }
    /**
     * Retrieves the current IAM policy data for autoscalingpolicy
     * 
     * ## example
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.gcp.dataproc.DataprocFunctions;
     * import com.pulumi.gcp.dataproc.inputs.GetAutoscalingPolicyIamPolicyArgs;
     * 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 = DataprocFunctions.getAutoscalingPolicyIamPolicy(GetAutoscalingPolicyIamPolicyArgs.builder()
     *             .project(google_dataproc_autoscaling_policy.basic().project())
     *             .location(google_dataproc_autoscaling_policy.basic().location())
     *             .policyId(google_dataproc_autoscaling_policy.basic().policy_id())
     *             .build());
     * 
     *     }
     * }
     * ```
     * 
     */
    public static CompletableFuture<GetAutoscalingPolicyIamPolicyResult> getAutoscalingPolicyIamPolicyPlain(GetAutoscalingPolicyIamPolicyPlainArgs args) {
        return getAutoscalingPolicyIamPolicyPlain(args, InvokeOptions.Empty);
    }
    /**
     * Retrieves the current IAM policy data for autoscalingpolicy
     * 
     * ## example
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.gcp.dataproc.DataprocFunctions;
     * import com.pulumi.gcp.dataproc.inputs.GetAutoscalingPolicyIamPolicyArgs;
     * 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 = DataprocFunctions.getAutoscalingPolicyIamPolicy(GetAutoscalingPolicyIamPolicyArgs.builder()
     *             .project(google_dataproc_autoscaling_policy.basic().project())
     *             .location(google_dataproc_autoscaling_policy.basic().location())
     *             .policyId(google_dataproc_autoscaling_policy.basic().policy_id())
     *             .build());
     * 
     *     }
     * }
     * ```
     * 
     */
    public static Output<GetAutoscalingPolicyIamPolicyResult> getAutoscalingPolicyIamPolicy(GetAutoscalingPolicyIamPolicyArgs args, InvokeOptions options) {
        return Deployment.getInstance().invoke("gcp:dataproc/getAutoscalingPolicyIamPolicy:getAutoscalingPolicyIamPolicy", TypeShape.of(GetAutoscalingPolicyIamPolicyResult.class), args, Utilities.withVersion(options));
    }
    /**
     * Retrieves the current IAM policy data for autoscalingpolicy
     * 
     * ## example
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.gcp.dataproc.DataprocFunctions;
     * import com.pulumi.gcp.dataproc.inputs.GetAutoscalingPolicyIamPolicyArgs;
     * 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 = DataprocFunctions.getAutoscalingPolicyIamPolicy(GetAutoscalingPolicyIamPolicyArgs.builder()
     *             .project(google_dataproc_autoscaling_policy.basic().project())
     *             .location(google_dataproc_autoscaling_policy.basic().location())
     *             .policyId(google_dataproc_autoscaling_policy.basic().policy_id())
     *             .build());
     * 
     *     }
     * }
     * ```
     * 
     */
    public static CompletableFuture<GetAutoscalingPolicyIamPolicyResult> getAutoscalingPolicyIamPolicyPlain(GetAutoscalingPolicyIamPolicyPlainArgs args, InvokeOptions options) {
        return Deployment.getInstance().invokeAsync("gcp:dataproc/getAutoscalingPolicyIamPolicy:getAutoscalingPolicyIamPolicy", TypeShape.of(GetAutoscalingPolicyIamPolicyResult.class), args, Utilities.withVersion(options));
    }
    /**
     * Retrieves the current IAM policy data for a Dataproc cluster.
     * 
     * ## example
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.gcp.dataproc.DataprocFunctions;
     * import com.pulumi.gcp.dataproc.inputs.GetClusterIamPolicyArgs;
     * 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 = DataprocFunctions.getClusterIamPolicy(GetClusterIamPolicyArgs.builder()
     *             .cluster(google_dataproc_cluster.cluster().name())
     *             .region(&#34;us-central1&#34;)
     *             .build());
     * 
     *     }
     * }
     * ```
     * 
     */
    public static Output<GetClusterIamPolicyResult> getClusterIamPolicy(GetClusterIamPolicyArgs args) {
        return getClusterIamPolicy(args, InvokeOptions.Empty);
    }
    /**
     * Retrieves the current IAM policy data for a Dataproc cluster.
     * 
     * ## example
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.gcp.dataproc.DataprocFunctions;
     * import com.pulumi.gcp.dataproc.inputs.GetClusterIamPolicyArgs;
     * 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 = DataprocFunctions.getClusterIamPolicy(GetClusterIamPolicyArgs.builder()
     *             .cluster(google_dataproc_cluster.cluster().name())
     *             .region(&#34;us-central1&#34;)
     *             .build());
     * 
     *     }
     * }
     * ```
     * 
     */
    public static CompletableFuture<GetClusterIamPolicyResult> getClusterIamPolicyPlain(GetClusterIamPolicyPlainArgs args) {
        return getClusterIamPolicyPlain(args, InvokeOptions.Empty);
    }
    /**
     * Retrieves the current IAM policy data for a Dataproc cluster.
     * 
     * ## example
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.gcp.dataproc.DataprocFunctions;
     * import com.pulumi.gcp.dataproc.inputs.GetClusterIamPolicyArgs;
     * 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 = DataprocFunctions.getClusterIamPolicy(GetClusterIamPolicyArgs.builder()
     *             .cluster(google_dataproc_cluster.cluster().name())
     *             .region(&#34;us-central1&#34;)
     *             .build());
     * 
     *     }
     * }
     * ```
     * 
     */
    public static Output<GetClusterIamPolicyResult> getClusterIamPolicy(GetClusterIamPolicyArgs args, InvokeOptions options) {
        return Deployment.getInstance().invoke("gcp:dataproc/getClusterIamPolicy:getClusterIamPolicy", TypeShape.of(GetClusterIamPolicyResult.class), args, Utilities.withVersion(options));
    }
    /**
     * Retrieves the current IAM policy data for a Dataproc cluster.
     * 
     * ## example
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.gcp.dataproc.DataprocFunctions;
     * import com.pulumi.gcp.dataproc.inputs.GetClusterIamPolicyArgs;
     * 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 = DataprocFunctions.getClusterIamPolicy(GetClusterIamPolicyArgs.builder()
     *             .cluster(google_dataproc_cluster.cluster().name())
     *             .region(&#34;us-central1&#34;)
     *             .build());
     * 
     *     }
     * }
     * ```
     * 
     */
    public static CompletableFuture<GetClusterIamPolicyResult> getClusterIamPolicyPlain(GetClusterIamPolicyPlainArgs args, InvokeOptions options) {
        return Deployment.getInstance().invokeAsync("gcp:dataproc/getClusterIamPolicy:getClusterIamPolicy", TypeShape.of(GetClusterIamPolicyResult.class), args, Utilities.withVersion(options));
    }
    /**
     * Retrieves the current IAM policy data for a Dataproc job.
     * 
     * ## example
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.gcp.dataproc.DataprocFunctions;
     * import com.pulumi.gcp.dataproc.inputs.GetJobIamPolicyArgs;
     * 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 = DataprocFunctions.getJobIamPolicy(GetJobIamPolicyArgs.builder()
     *             .jobId(google_dataproc_job.pyspark().reference()[0].job_id())
     *             .region(&#34;us-central1&#34;)
     *             .build());
     * 
     *     }
     * }
     * ```
     * 
     */
    public static Output<GetJobIamPolicyResult> getJobIamPolicy(GetJobIamPolicyArgs args) {
        return getJobIamPolicy(args, InvokeOptions.Empty);
    }
    /**
     * Retrieves the current IAM policy data for a Dataproc job.
     * 
     * ## example
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.gcp.dataproc.DataprocFunctions;
     * import com.pulumi.gcp.dataproc.inputs.GetJobIamPolicyArgs;
     * 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 = DataprocFunctions.getJobIamPolicy(GetJobIamPolicyArgs.builder()
     *             .jobId(google_dataproc_job.pyspark().reference()[0].job_id())
     *             .region(&#34;us-central1&#34;)
     *             .build());
     * 
     *     }
     * }
     * ```
     * 
     */
    public static CompletableFuture<GetJobIamPolicyResult> getJobIamPolicyPlain(GetJobIamPolicyPlainArgs args) {
        return getJobIamPolicyPlain(args, InvokeOptions.Empty);
    }
    /**
     * Retrieves the current IAM policy data for a Dataproc job.
     * 
     * ## example
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.gcp.dataproc.DataprocFunctions;
     * import com.pulumi.gcp.dataproc.inputs.GetJobIamPolicyArgs;
     * 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 = DataprocFunctions.getJobIamPolicy(GetJobIamPolicyArgs.builder()
     *             .jobId(google_dataproc_job.pyspark().reference()[0].job_id())
     *             .region(&#34;us-central1&#34;)
     *             .build());
     * 
     *     }
     * }
     * ```
     * 
     */
    public static Output<GetJobIamPolicyResult> getJobIamPolicy(GetJobIamPolicyArgs args, InvokeOptions options) {
        return Deployment.getInstance().invoke("gcp:dataproc/getJobIamPolicy:getJobIamPolicy", TypeShape.of(GetJobIamPolicyResult.class), args, Utilities.withVersion(options));
    }
    /**
     * Retrieves the current IAM policy data for a Dataproc job.
     * 
     * ## example
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.gcp.dataproc.DataprocFunctions;
     * import com.pulumi.gcp.dataproc.inputs.GetJobIamPolicyArgs;
     * 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 = DataprocFunctions.getJobIamPolicy(GetJobIamPolicyArgs.builder()
     *             .jobId(google_dataproc_job.pyspark().reference()[0].job_id())
     *             .region(&#34;us-central1&#34;)
     *             .build());
     * 
     *     }
     * }
     * ```
     * 
     */
    public static CompletableFuture<GetJobIamPolicyResult> getJobIamPolicyPlain(GetJobIamPolicyPlainArgs args, InvokeOptions options) {
        return Deployment.getInstance().invokeAsync("gcp:dataproc/getJobIamPolicy:getJobIamPolicy", TypeShape.of(GetJobIamPolicyResult.class), args, Utilities.withVersion(options));
    }
    public static Output<GetMetastoreFederationIamPolicyResult> getMetastoreFederationIamPolicy(GetMetastoreFederationIamPolicyArgs args) {
        return getMetastoreFederationIamPolicy(args, InvokeOptions.Empty);
    }
    public static CompletableFuture<GetMetastoreFederationIamPolicyResult> getMetastoreFederationIamPolicyPlain(GetMetastoreFederationIamPolicyPlainArgs args) {
        return getMetastoreFederationIamPolicyPlain(args, InvokeOptions.Empty);
    }
    public static Output<GetMetastoreFederationIamPolicyResult> getMetastoreFederationIamPolicy(GetMetastoreFederationIamPolicyArgs args, InvokeOptions options) {
        return Deployment.getInstance().invoke("gcp:dataproc/getMetastoreFederationIamPolicy:getMetastoreFederationIamPolicy", TypeShape.of(GetMetastoreFederationIamPolicyResult.class), args, Utilities.withVersion(options));
    }
    public static CompletableFuture<GetMetastoreFederationIamPolicyResult> getMetastoreFederationIamPolicyPlain(GetMetastoreFederationIamPolicyPlainArgs args, InvokeOptions options) {
        return Deployment.getInstance().invokeAsync("gcp:dataproc/getMetastoreFederationIamPolicy:getMetastoreFederationIamPolicy", TypeShape.of(GetMetastoreFederationIamPolicyResult.class), args, Utilities.withVersion(options));
    }
    /**
     * Retrieves the current IAM policy data for service
     * 
     * ## example
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.gcp.dataproc.DataprocFunctions;
     * import com.pulumi.gcp.dataproc.inputs.GetMetastoreServiceIamPolicyArgs;
     * 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 = DataprocFunctions.getMetastoreServiceIamPolicy(GetMetastoreServiceIamPolicyArgs.builder()
     *             .project(google_dataproc_metastore_service.default().project())
     *             .location(google_dataproc_metastore_service.default().location())
     *             .serviceId(google_dataproc_metastore_service.default().service_id())
     *             .build());
     * 
     *     }
     * }
     * ```
     * 
     */
    public static Output<GetMetastoreServiceIamPolicyResult> getMetastoreServiceIamPolicy(GetMetastoreServiceIamPolicyArgs args) {
        return getMetastoreServiceIamPolicy(args, InvokeOptions.Empty);
    }
    /**
     * Retrieves the current IAM policy data for service
     * 
     * ## example
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.gcp.dataproc.DataprocFunctions;
     * import com.pulumi.gcp.dataproc.inputs.GetMetastoreServiceIamPolicyArgs;
     * 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 = DataprocFunctions.getMetastoreServiceIamPolicy(GetMetastoreServiceIamPolicyArgs.builder()
     *             .project(google_dataproc_metastore_service.default().project())
     *             .location(google_dataproc_metastore_service.default().location())
     *             .serviceId(google_dataproc_metastore_service.default().service_id())
     *             .build());
     * 
     *     }
     * }
     * ```
     * 
     */
    public static CompletableFuture<GetMetastoreServiceIamPolicyResult> getMetastoreServiceIamPolicyPlain(GetMetastoreServiceIamPolicyPlainArgs args) {
        return getMetastoreServiceIamPolicyPlain(args, InvokeOptions.Empty);
    }
    /**
     * Retrieves the current IAM policy data for service
     * 
     * ## example
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.gcp.dataproc.DataprocFunctions;
     * import com.pulumi.gcp.dataproc.inputs.GetMetastoreServiceIamPolicyArgs;
     * 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 = DataprocFunctions.getMetastoreServiceIamPolicy(GetMetastoreServiceIamPolicyArgs.builder()
     *             .project(google_dataproc_metastore_service.default().project())
     *             .location(google_dataproc_metastore_service.default().location())
     *             .serviceId(google_dataproc_metastore_service.default().service_id())
     *             .build());
     * 
     *     }
     * }
     * ```
     * 
     */
    public static Output<GetMetastoreServiceIamPolicyResult> getMetastoreServiceIamPolicy(GetMetastoreServiceIamPolicyArgs args, InvokeOptions options) {
        return Deployment.getInstance().invoke("gcp:dataproc/getMetastoreServiceIamPolicy:getMetastoreServiceIamPolicy", TypeShape.of(GetMetastoreServiceIamPolicyResult.class), args, Utilities.withVersion(options));
    }
    /**
     * Retrieves the current IAM policy data for service
     * 
     * ## example
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.gcp.dataproc.DataprocFunctions;
     * import com.pulumi.gcp.dataproc.inputs.GetMetastoreServiceIamPolicyArgs;
     * 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 = DataprocFunctions.getMetastoreServiceIamPolicy(GetMetastoreServiceIamPolicyArgs.builder()
     *             .project(google_dataproc_metastore_service.default().project())
     *             .location(google_dataproc_metastore_service.default().location())
     *             .serviceId(google_dataproc_metastore_service.default().service_id())
     *             .build());
     * 
     *     }
     * }
     * ```
     * 
     */
    public static CompletableFuture<GetMetastoreServiceIamPolicyResult> getMetastoreServiceIamPolicyPlain(GetMetastoreServiceIamPolicyPlainArgs args, InvokeOptions options) {
        return Deployment.getInstance().invokeAsync("gcp:dataproc/getMetastoreServiceIamPolicy:getMetastoreServiceIamPolicy", TypeShape.of(GetMetastoreServiceIamPolicyResult.class), args, Utilities.withVersion(options));
    }
}
