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

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.dataplex.inputs.GetAssetIamPolicyArgs;
import com.pulumi.gcp.dataplex.inputs.GetAssetIamPolicyPlainArgs;
import com.pulumi.gcp.dataplex.inputs.GetDatascanIamPolicyArgs;
import com.pulumi.gcp.dataplex.inputs.GetDatascanIamPolicyPlainArgs;
import com.pulumi.gcp.dataplex.inputs.GetLakeIamPolicyArgs;
import com.pulumi.gcp.dataplex.inputs.GetLakeIamPolicyPlainArgs;
import com.pulumi.gcp.dataplex.inputs.GetTaskIamPolicyArgs;
import com.pulumi.gcp.dataplex.inputs.GetTaskIamPolicyPlainArgs;
import com.pulumi.gcp.dataplex.inputs.GetZoneIamPolicyArgs;
import com.pulumi.gcp.dataplex.inputs.GetZoneIamPolicyPlainArgs;
import com.pulumi.gcp.dataplex.outputs.GetAssetIamPolicyResult;
import com.pulumi.gcp.dataplex.outputs.GetDatascanIamPolicyResult;
import com.pulumi.gcp.dataplex.outputs.GetLakeIamPolicyResult;
import com.pulumi.gcp.dataplex.outputs.GetTaskIamPolicyResult;
import com.pulumi.gcp.dataplex.outputs.GetZoneIamPolicyResult;
import java.util.concurrent.CompletableFuture;

public final class DataplexFunctions {
    /**
     * Retrieves the current IAM policy data for asset
     * 
     * ## example
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.gcp.dataplex.DataplexFunctions;
     * import com.pulumi.gcp.dataplex.inputs.GetAssetIamPolicyArgs;
     * 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 = DataplexFunctions.getAssetIamPolicy(GetAssetIamPolicyArgs.builder()
     *             .project(google_dataplex_asset.example().project())
     *             .location(google_dataplex_asset.example().location())
     *             .lake(google_dataplex_asset.example().lake())
     *             .dataplexZone(google_dataplex_asset.example().dataplex_zone())
     *             .asset(google_dataplex_asset.example().name())
     *             .build());
     * 
     *     }
     * }
     * ```
     * 
     */
    public static Output<GetAssetIamPolicyResult> getAssetIamPolicy(GetAssetIamPolicyArgs args) {
        return getAssetIamPolicy(args, InvokeOptions.Empty);
    }
    /**
     * Retrieves the current IAM policy data for asset
     * 
     * ## example
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.gcp.dataplex.DataplexFunctions;
     * import com.pulumi.gcp.dataplex.inputs.GetAssetIamPolicyArgs;
     * 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 = DataplexFunctions.getAssetIamPolicy(GetAssetIamPolicyArgs.builder()
     *             .project(google_dataplex_asset.example().project())
     *             .location(google_dataplex_asset.example().location())
     *             .lake(google_dataplex_asset.example().lake())
     *             .dataplexZone(google_dataplex_asset.example().dataplex_zone())
     *             .asset(google_dataplex_asset.example().name())
     *             .build());
     * 
     *     }
     * }
     * ```
     * 
     */
    public static CompletableFuture<GetAssetIamPolicyResult> getAssetIamPolicyPlain(GetAssetIamPolicyPlainArgs args) {
        return getAssetIamPolicyPlain(args, InvokeOptions.Empty);
    }
    /**
     * Retrieves the current IAM policy data for asset
     * 
     * ## example
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.gcp.dataplex.DataplexFunctions;
     * import com.pulumi.gcp.dataplex.inputs.GetAssetIamPolicyArgs;
     * 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 = DataplexFunctions.getAssetIamPolicy(GetAssetIamPolicyArgs.builder()
     *             .project(google_dataplex_asset.example().project())
     *             .location(google_dataplex_asset.example().location())
     *             .lake(google_dataplex_asset.example().lake())
     *             .dataplexZone(google_dataplex_asset.example().dataplex_zone())
     *             .asset(google_dataplex_asset.example().name())
     *             .build());
     * 
     *     }
     * }
     * ```
     * 
     */
    public static Output<GetAssetIamPolicyResult> getAssetIamPolicy(GetAssetIamPolicyArgs args, InvokeOptions options) {
        return Deployment.getInstance().invoke("gcp:dataplex/getAssetIamPolicy:getAssetIamPolicy", TypeShape.of(GetAssetIamPolicyResult.class), args, Utilities.withVersion(options));
    }
    /**
     * Retrieves the current IAM policy data for asset
     * 
     * ## example
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.gcp.dataplex.DataplexFunctions;
     * import com.pulumi.gcp.dataplex.inputs.GetAssetIamPolicyArgs;
     * 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 = DataplexFunctions.getAssetIamPolicy(GetAssetIamPolicyArgs.builder()
     *             .project(google_dataplex_asset.example().project())
     *             .location(google_dataplex_asset.example().location())
     *             .lake(google_dataplex_asset.example().lake())
     *             .dataplexZone(google_dataplex_asset.example().dataplex_zone())
     *             .asset(google_dataplex_asset.example().name())
     *             .build());
     * 
     *     }
     * }
     * ```
     * 
     */
    public static CompletableFuture<GetAssetIamPolicyResult> getAssetIamPolicyPlain(GetAssetIamPolicyPlainArgs args, InvokeOptions options) {
        return Deployment.getInstance().invokeAsync("gcp:dataplex/getAssetIamPolicy:getAssetIamPolicy", TypeShape.of(GetAssetIamPolicyResult.class), args, Utilities.withVersion(options));
    }
    /**
     * Retrieves the current IAM policy data for datascan
     * 
     * ## example
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.gcp.dataplex.DataplexFunctions;
     * import com.pulumi.gcp.dataplex.inputs.GetDatascanIamPolicyArgs;
     * 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 = DataplexFunctions.getDatascanIamPolicy(GetDatascanIamPolicyArgs.builder()
     *             .project(google_dataplex_datascan.basic_profile().project())
     *             .location(google_dataplex_datascan.basic_profile().location())
     *             .dataScanId(google_dataplex_datascan.basic_profile().data_scan_id())
     *             .build());
     * 
     *     }
     * }
     * ```
     * 
     */
    public static Output<GetDatascanIamPolicyResult> getDatascanIamPolicy(GetDatascanIamPolicyArgs args) {
        return getDatascanIamPolicy(args, InvokeOptions.Empty);
    }
    /**
     * Retrieves the current IAM policy data for datascan
     * 
     * ## example
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.gcp.dataplex.DataplexFunctions;
     * import com.pulumi.gcp.dataplex.inputs.GetDatascanIamPolicyArgs;
     * 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 = DataplexFunctions.getDatascanIamPolicy(GetDatascanIamPolicyArgs.builder()
     *             .project(google_dataplex_datascan.basic_profile().project())
     *             .location(google_dataplex_datascan.basic_profile().location())
     *             .dataScanId(google_dataplex_datascan.basic_profile().data_scan_id())
     *             .build());
     * 
     *     }
     * }
     * ```
     * 
     */
    public static CompletableFuture<GetDatascanIamPolicyResult> getDatascanIamPolicyPlain(GetDatascanIamPolicyPlainArgs args) {
        return getDatascanIamPolicyPlain(args, InvokeOptions.Empty);
    }
    /**
     * Retrieves the current IAM policy data for datascan
     * 
     * ## example
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.gcp.dataplex.DataplexFunctions;
     * import com.pulumi.gcp.dataplex.inputs.GetDatascanIamPolicyArgs;
     * 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 = DataplexFunctions.getDatascanIamPolicy(GetDatascanIamPolicyArgs.builder()
     *             .project(google_dataplex_datascan.basic_profile().project())
     *             .location(google_dataplex_datascan.basic_profile().location())
     *             .dataScanId(google_dataplex_datascan.basic_profile().data_scan_id())
     *             .build());
     * 
     *     }
     * }
     * ```
     * 
     */
    public static Output<GetDatascanIamPolicyResult> getDatascanIamPolicy(GetDatascanIamPolicyArgs args, InvokeOptions options) {
        return Deployment.getInstance().invoke("gcp:dataplex/getDatascanIamPolicy:getDatascanIamPolicy", TypeShape.of(GetDatascanIamPolicyResult.class), args, Utilities.withVersion(options));
    }
    /**
     * Retrieves the current IAM policy data for datascan
     * 
     * ## example
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.gcp.dataplex.DataplexFunctions;
     * import com.pulumi.gcp.dataplex.inputs.GetDatascanIamPolicyArgs;
     * 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 = DataplexFunctions.getDatascanIamPolicy(GetDatascanIamPolicyArgs.builder()
     *             .project(google_dataplex_datascan.basic_profile().project())
     *             .location(google_dataplex_datascan.basic_profile().location())
     *             .dataScanId(google_dataplex_datascan.basic_profile().data_scan_id())
     *             .build());
     * 
     *     }
     * }
     * ```
     * 
     */
    public static CompletableFuture<GetDatascanIamPolicyResult> getDatascanIamPolicyPlain(GetDatascanIamPolicyPlainArgs args, InvokeOptions options) {
        return Deployment.getInstance().invokeAsync("gcp:dataplex/getDatascanIamPolicy:getDatascanIamPolicy", TypeShape.of(GetDatascanIamPolicyResult.class), args, Utilities.withVersion(options));
    }
    /**
     * Retrieves the current IAM policy data for lake
     * 
     * ## example
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.gcp.dataplex.DataplexFunctions;
     * import com.pulumi.gcp.dataplex.inputs.GetLakeIamPolicyArgs;
     * 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 = DataplexFunctions.getLakeIamPolicy(GetLakeIamPolicyArgs.builder()
     *             .project(google_dataplex_lake.example().project())
     *             .location(google_dataplex_lake.example().location())
     *             .lake(google_dataplex_lake.example().name())
     *             .build());
     * 
     *     }
     * }
     * ```
     * 
     */
    public static Output<GetLakeIamPolicyResult> getLakeIamPolicy(GetLakeIamPolicyArgs args) {
        return getLakeIamPolicy(args, InvokeOptions.Empty);
    }
    /**
     * Retrieves the current IAM policy data for lake
     * 
     * ## example
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.gcp.dataplex.DataplexFunctions;
     * import com.pulumi.gcp.dataplex.inputs.GetLakeIamPolicyArgs;
     * 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 = DataplexFunctions.getLakeIamPolicy(GetLakeIamPolicyArgs.builder()
     *             .project(google_dataplex_lake.example().project())
     *             .location(google_dataplex_lake.example().location())
     *             .lake(google_dataplex_lake.example().name())
     *             .build());
     * 
     *     }
     * }
     * ```
     * 
     */
    public static CompletableFuture<GetLakeIamPolicyResult> getLakeIamPolicyPlain(GetLakeIamPolicyPlainArgs args) {
        return getLakeIamPolicyPlain(args, InvokeOptions.Empty);
    }
    /**
     * Retrieves the current IAM policy data for lake
     * 
     * ## example
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.gcp.dataplex.DataplexFunctions;
     * import com.pulumi.gcp.dataplex.inputs.GetLakeIamPolicyArgs;
     * 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 = DataplexFunctions.getLakeIamPolicy(GetLakeIamPolicyArgs.builder()
     *             .project(google_dataplex_lake.example().project())
     *             .location(google_dataplex_lake.example().location())
     *             .lake(google_dataplex_lake.example().name())
     *             .build());
     * 
     *     }
     * }
     * ```
     * 
     */
    public static Output<GetLakeIamPolicyResult> getLakeIamPolicy(GetLakeIamPolicyArgs args, InvokeOptions options) {
        return Deployment.getInstance().invoke("gcp:dataplex/getLakeIamPolicy:getLakeIamPolicy", TypeShape.of(GetLakeIamPolicyResult.class), args, Utilities.withVersion(options));
    }
    /**
     * Retrieves the current IAM policy data for lake
     * 
     * ## example
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.gcp.dataplex.DataplexFunctions;
     * import com.pulumi.gcp.dataplex.inputs.GetLakeIamPolicyArgs;
     * 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 = DataplexFunctions.getLakeIamPolicy(GetLakeIamPolicyArgs.builder()
     *             .project(google_dataplex_lake.example().project())
     *             .location(google_dataplex_lake.example().location())
     *             .lake(google_dataplex_lake.example().name())
     *             .build());
     * 
     *     }
     * }
     * ```
     * 
     */
    public static CompletableFuture<GetLakeIamPolicyResult> getLakeIamPolicyPlain(GetLakeIamPolicyPlainArgs args, InvokeOptions options) {
        return Deployment.getInstance().invokeAsync("gcp:dataplex/getLakeIamPolicy:getLakeIamPolicy", TypeShape.of(GetLakeIamPolicyResult.class), args, Utilities.withVersion(options));
    }
    /**
     * Retrieves the current IAM policy data for task
     * 
     * ## example
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.gcp.dataplex.DataplexFunctions;
     * import com.pulumi.gcp.dataplex.inputs.GetTaskIamPolicyArgs;
     * 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 = DataplexFunctions.getTaskIamPolicy(GetTaskIamPolicyArgs.builder()
     *             .project(google_dataplex_task.example().project())
     *             .location(google_dataplex_task.example().location())
     *             .lake(google_dataplex_task.example().lake())
     *             .taskId(google_dataplex_task.example().task_id())
     *             .build());
     * 
     *     }
     * }
     * ```
     * 
     */
    public static Output<GetTaskIamPolicyResult> getTaskIamPolicy(GetTaskIamPolicyArgs args) {
        return getTaskIamPolicy(args, InvokeOptions.Empty);
    }
    /**
     * Retrieves the current IAM policy data for task
     * 
     * ## example
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.gcp.dataplex.DataplexFunctions;
     * import com.pulumi.gcp.dataplex.inputs.GetTaskIamPolicyArgs;
     * 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 = DataplexFunctions.getTaskIamPolicy(GetTaskIamPolicyArgs.builder()
     *             .project(google_dataplex_task.example().project())
     *             .location(google_dataplex_task.example().location())
     *             .lake(google_dataplex_task.example().lake())
     *             .taskId(google_dataplex_task.example().task_id())
     *             .build());
     * 
     *     }
     * }
     * ```
     * 
     */
    public static CompletableFuture<GetTaskIamPolicyResult> getTaskIamPolicyPlain(GetTaskIamPolicyPlainArgs args) {
        return getTaskIamPolicyPlain(args, InvokeOptions.Empty);
    }
    /**
     * Retrieves the current IAM policy data for task
     * 
     * ## example
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.gcp.dataplex.DataplexFunctions;
     * import com.pulumi.gcp.dataplex.inputs.GetTaskIamPolicyArgs;
     * 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 = DataplexFunctions.getTaskIamPolicy(GetTaskIamPolicyArgs.builder()
     *             .project(google_dataplex_task.example().project())
     *             .location(google_dataplex_task.example().location())
     *             .lake(google_dataplex_task.example().lake())
     *             .taskId(google_dataplex_task.example().task_id())
     *             .build());
     * 
     *     }
     * }
     * ```
     * 
     */
    public static Output<GetTaskIamPolicyResult> getTaskIamPolicy(GetTaskIamPolicyArgs args, InvokeOptions options) {
        return Deployment.getInstance().invoke("gcp:dataplex/getTaskIamPolicy:getTaskIamPolicy", TypeShape.of(GetTaskIamPolicyResult.class), args, Utilities.withVersion(options));
    }
    /**
     * Retrieves the current IAM policy data for task
     * 
     * ## example
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.gcp.dataplex.DataplexFunctions;
     * import com.pulumi.gcp.dataplex.inputs.GetTaskIamPolicyArgs;
     * 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 = DataplexFunctions.getTaskIamPolicy(GetTaskIamPolicyArgs.builder()
     *             .project(google_dataplex_task.example().project())
     *             .location(google_dataplex_task.example().location())
     *             .lake(google_dataplex_task.example().lake())
     *             .taskId(google_dataplex_task.example().task_id())
     *             .build());
     * 
     *     }
     * }
     * ```
     * 
     */
    public static CompletableFuture<GetTaskIamPolicyResult> getTaskIamPolicyPlain(GetTaskIamPolicyPlainArgs args, InvokeOptions options) {
        return Deployment.getInstance().invokeAsync("gcp:dataplex/getTaskIamPolicy:getTaskIamPolicy", TypeShape.of(GetTaskIamPolicyResult.class), args, Utilities.withVersion(options));
    }
    /**
     * Retrieves the current IAM policy data for zone
     * 
     * ## example
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.gcp.dataplex.DataplexFunctions;
     * import com.pulumi.gcp.dataplex.inputs.GetZoneIamPolicyArgs;
     * 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 = DataplexFunctions.getZoneIamPolicy(GetZoneIamPolicyArgs.builder()
     *             .project(google_dataplex_zone.example().project())
     *             .location(google_dataplex_zone.example().location())
     *             .lake(google_dataplex_zone.example().lake())
     *             .dataplexZone(google_dataplex_zone.example().name())
     *             .build());
     * 
     *     }
     * }
     * ```
     * 
     */
    public static Output<GetZoneIamPolicyResult> getZoneIamPolicy(GetZoneIamPolicyArgs args) {
        return getZoneIamPolicy(args, InvokeOptions.Empty);
    }
    /**
     * Retrieves the current IAM policy data for zone
     * 
     * ## example
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.gcp.dataplex.DataplexFunctions;
     * import com.pulumi.gcp.dataplex.inputs.GetZoneIamPolicyArgs;
     * 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 = DataplexFunctions.getZoneIamPolicy(GetZoneIamPolicyArgs.builder()
     *             .project(google_dataplex_zone.example().project())
     *             .location(google_dataplex_zone.example().location())
     *             .lake(google_dataplex_zone.example().lake())
     *             .dataplexZone(google_dataplex_zone.example().name())
     *             .build());
     * 
     *     }
     * }
     * ```
     * 
     */
    public static CompletableFuture<GetZoneIamPolicyResult> getZoneIamPolicyPlain(GetZoneIamPolicyPlainArgs args) {
        return getZoneIamPolicyPlain(args, InvokeOptions.Empty);
    }
    /**
     * Retrieves the current IAM policy data for zone
     * 
     * ## example
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.gcp.dataplex.DataplexFunctions;
     * import com.pulumi.gcp.dataplex.inputs.GetZoneIamPolicyArgs;
     * 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 = DataplexFunctions.getZoneIamPolicy(GetZoneIamPolicyArgs.builder()
     *             .project(google_dataplex_zone.example().project())
     *             .location(google_dataplex_zone.example().location())
     *             .lake(google_dataplex_zone.example().lake())
     *             .dataplexZone(google_dataplex_zone.example().name())
     *             .build());
     * 
     *     }
     * }
     * ```
     * 
     */
    public static Output<GetZoneIamPolicyResult> getZoneIamPolicy(GetZoneIamPolicyArgs args, InvokeOptions options) {
        return Deployment.getInstance().invoke("gcp:dataplex/getZoneIamPolicy:getZoneIamPolicy", TypeShape.of(GetZoneIamPolicyResult.class), args, Utilities.withVersion(options));
    }
    /**
     * Retrieves the current IAM policy data for zone
     * 
     * ## example
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.gcp.dataplex.DataplexFunctions;
     * import com.pulumi.gcp.dataplex.inputs.GetZoneIamPolicyArgs;
     * 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 = DataplexFunctions.getZoneIamPolicy(GetZoneIamPolicyArgs.builder()
     *             .project(google_dataplex_zone.example().project())
     *             .location(google_dataplex_zone.example().location())
     *             .lake(google_dataplex_zone.example().lake())
     *             .dataplexZone(google_dataplex_zone.example().name())
     *             .build());
     * 
     *     }
     * }
     * ```
     * 
     */
    public static CompletableFuture<GetZoneIamPolicyResult> getZoneIamPolicyPlain(GetZoneIamPolicyPlainArgs args, InvokeOptions options) {
        return Deployment.getInstance().invokeAsync("gcp:dataplex/getZoneIamPolicy:getZoneIamPolicy", TypeShape.of(GetZoneIamPolicyResult.class), args, Utilities.withVersion(options));
    }
}
