sdk/java/src/main/java/com/pulumi/ovh/CloudProjectDatabase/CloudProjectDatabaseFunctions.java
// *** 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.ovh.CloudProjectDatabase;

import com.pulumi.core.Output;
import com.pulumi.core.TypeShape;
import com.pulumi.deployment.Deployment;
import com.pulumi.deployment.InvokeOptions;
import com.pulumi.ovh.CloudProjectDatabase.inputs.GetCapabilitiesArgs;
import com.pulumi.ovh.CloudProjectDatabase.inputs.GetCapabilitiesPlainArgs;
import com.pulumi.ovh.CloudProjectDatabase.inputs.GetCertificatesArgs;
import com.pulumi.ovh.CloudProjectDatabase.inputs.GetCertificatesPlainArgs;
import com.pulumi.ovh.CloudProjectDatabase.inputs.GetDatabaseArgs;
import com.pulumi.ovh.CloudProjectDatabase.inputs.GetDatabaseInstanceArgs;
import com.pulumi.ovh.CloudProjectDatabase.inputs.GetDatabaseInstancePlainArgs;
import com.pulumi.ovh.CloudProjectDatabase.inputs.GetDatabaseInstancesArgs;
import com.pulumi.ovh.CloudProjectDatabase.inputs.GetDatabaseInstancesPlainArgs;
import com.pulumi.ovh.CloudProjectDatabase.inputs.GetDatabaseIntegrationArgs;
import com.pulumi.ovh.CloudProjectDatabase.inputs.GetDatabaseIntegrationPlainArgs;
import com.pulumi.ovh.CloudProjectDatabase.inputs.GetDatabaseIntegrationsArgs;
import com.pulumi.ovh.CloudProjectDatabase.inputs.GetDatabaseIntegrationsPlainArgs;
import com.pulumi.ovh.CloudProjectDatabase.inputs.GetDatabasePlainArgs;
import com.pulumi.ovh.CloudProjectDatabase.inputs.GetDatabasesArgs;
import com.pulumi.ovh.CloudProjectDatabase.inputs.GetDatabasesPlainArgs;
import com.pulumi.ovh.CloudProjectDatabase.inputs.GetIpRestrictionsArgs;
import com.pulumi.ovh.CloudProjectDatabase.inputs.GetIpRestrictionsPlainArgs;
import com.pulumi.ovh.CloudProjectDatabase.inputs.GetKafkaAclArgs;
import com.pulumi.ovh.CloudProjectDatabase.inputs.GetKafkaAclPlainArgs;
import com.pulumi.ovh.CloudProjectDatabase.inputs.GetKafkaAclsArgs;
import com.pulumi.ovh.CloudProjectDatabase.inputs.GetKafkaAclsPlainArgs;
import com.pulumi.ovh.CloudProjectDatabase.inputs.GetKafkaTopicArgs;
import com.pulumi.ovh.CloudProjectDatabase.inputs.GetKafkaTopicPlainArgs;
import com.pulumi.ovh.CloudProjectDatabase.inputs.GetKafkaTopicsArgs;
import com.pulumi.ovh.CloudProjectDatabase.inputs.GetKafkaTopicsPlainArgs;
import com.pulumi.ovh.CloudProjectDatabase.inputs.GetKafkaUserAccessArgs;
import com.pulumi.ovh.CloudProjectDatabase.inputs.GetKafkaUserAccessPlainArgs;
import com.pulumi.ovh.CloudProjectDatabase.inputs.GetPostgresSqlUserArgs;
import com.pulumi.ovh.CloudProjectDatabase.inputs.GetPostgresSqlUserPlainArgs;
import com.pulumi.ovh.CloudProjectDatabase.inputs.GetUserArgs;
import com.pulumi.ovh.CloudProjectDatabase.inputs.GetUserPlainArgs;
import com.pulumi.ovh.CloudProjectDatabase.inputs.GetUsersArgs;
import com.pulumi.ovh.CloudProjectDatabase.inputs.GetUsersPlainArgs;
import com.pulumi.ovh.CloudProjectDatabase.outputs.GetCapabilitiesResult;
import com.pulumi.ovh.CloudProjectDatabase.outputs.GetCertificatesResult;
import com.pulumi.ovh.CloudProjectDatabase.outputs.GetDatabaseInstanceResult;
import com.pulumi.ovh.CloudProjectDatabase.outputs.GetDatabaseInstancesResult;
import com.pulumi.ovh.CloudProjectDatabase.outputs.GetDatabaseIntegrationResult;
import com.pulumi.ovh.CloudProjectDatabase.outputs.GetDatabaseIntegrationsResult;
import com.pulumi.ovh.CloudProjectDatabase.outputs.GetDatabaseResult;
import com.pulumi.ovh.CloudProjectDatabase.outputs.GetDatabasesResult;
import com.pulumi.ovh.CloudProjectDatabase.outputs.GetIpRestrictionsResult;
import com.pulumi.ovh.CloudProjectDatabase.outputs.GetKafkaAclResult;
import com.pulumi.ovh.CloudProjectDatabase.outputs.GetKafkaAclsResult;
import com.pulumi.ovh.CloudProjectDatabase.outputs.GetKafkaTopicResult;
import com.pulumi.ovh.CloudProjectDatabase.outputs.GetKafkaTopicsResult;
import com.pulumi.ovh.CloudProjectDatabase.outputs.GetKafkaUserAccessResult;
import com.pulumi.ovh.CloudProjectDatabase.outputs.GetPostgresSqlUserResult;
import com.pulumi.ovh.CloudProjectDatabase.outputs.GetUserResult;
import com.pulumi.ovh.CloudProjectDatabase.outputs.GetUsersResult;
import com.pulumi.ovh.Utilities;
import java.util.concurrent.CompletableFuture;

public final class CloudProjectDatabaseFunctions {
    /**
     * Use this data source to get information about capabilities of a public cloud project.
     * 
     */
    public static Output<GetCapabilitiesResult> getCapabilities(GetCapabilitiesArgs args) {
        return getCapabilities(args, InvokeOptions.Empty);
    }
    /**
     * Use this data source to get information about capabilities of a public cloud project.
     * 
     */
    public static CompletableFuture<GetCapabilitiesResult> getCapabilitiesPlain(GetCapabilitiesPlainArgs args) {
        return getCapabilitiesPlain(args, InvokeOptions.Empty);
    }
    /**
     * Use this data source to get information about capabilities of a public cloud project.
     * 
     */
    public static Output<GetCapabilitiesResult> getCapabilities(GetCapabilitiesArgs args, InvokeOptions options) {
        return Deployment.getInstance().invoke("ovh:CloudProjectDatabase/getCapabilities:getCapabilities", TypeShape.of(GetCapabilitiesResult.class), args, Utilities.withVersion(options));
    }
    /**
     * Use this data source to get information about capabilities of a public cloud project.
     * 
     */
    public static CompletableFuture<GetCapabilitiesResult> getCapabilitiesPlain(GetCapabilitiesPlainArgs args, InvokeOptions options) {
        return Deployment.getInstance().invokeAsync("ovh:CloudProjectDatabase/getCapabilities:getCapabilities", TypeShape.of(GetCapabilitiesResult.class), args, Utilities.withVersion(options));
    }
    /**
     * Use this data source to get information about certificates of a cluster associated with a public cloud project.
     * 
     * ## Example Usage
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.ovh.CloudProjectDatabase.CloudProjectDatabaseFunctions;
     * import com.pulumi.ovh.CloudProjectDatabase.inputs.GetCertificatesArgs;
     * 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 certificates = CloudProjectDatabaseFunctions.getCertificates(GetCertificatesArgs.builder()
     *             .serviceName(&#34;XXX&#34;)
     *             .engine(&#34;YYY&#34;)
     *             .clusterId(&#34;ZZZ&#34;)
     *             .build());
     * 
     *         ctx.export(&#34;certificatesCa&#34;, certificates.applyValue(getCertificatesResult -&gt; getCertificatesResult.ca()));
     *     }
     * }
     * ```
     * 
     */
    public static Output<GetCertificatesResult> getCertificates(GetCertificatesArgs args) {
        return getCertificates(args, InvokeOptions.Empty);
    }
    /**
     * Use this data source to get information about certificates of a cluster associated with a public cloud project.
     * 
     * ## Example Usage
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.ovh.CloudProjectDatabase.CloudProjectDatabaseFunctions;
     * import com.pulumi.ovh.CloudProjectDatabase.inputs.GetCertificatesArgs;
     * 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 certificates = CloudProjectDatabaseFunctions.getCertificates(GetCertificatesArgs.builder()
     *             .serviceName(&#34;XXX&#34;)
     *             .engine(&#34;YYY&#34;)
     *             .clusterId(&#34;ZZZ&#34;)
     *             .build());
     * 
     *         ctx.export(&#34;certificatesCa&#34;, certificates.applyValue(getCertificatesResult -&gt; getCertificatesResult.ca()));
     *     }
     * }
     * ```
     * 
     */
    public static CompletableFuture<GetCertificatesResult> getCertificatesPlain(GetCertificatesPlainArgs args) {
        return getCertificatesPlain(args, InvokeOptions.Empty);
    }
    /**
     * Use this data source to get information about certificates of a cluster associated with a public cloud project.
     * 
     * ## Example Usage
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.ovh.CloudProjectDatabase.CloudProjectDatabaseFunctions;
     * import com.pulumi.ovh.CloudProjectDatabase.inputs.GetCertificatesArgs;
     * 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 certificates = CloudProjectDatabaseFunctions.getCertificates(GetCertificatesArgs.builder()
     *             .serviceName(&#34;XXX&#34;)
     *             .engine(&#34;YYY&#34;)
     *             .clusterId(&#34;ZZZ&#34;)
     *             .build());
     * 
     *         ctx.export(&#34;certificatesCa&#34;, certificates.applyValue(getCertificatesResult -&gt; getCertificatesResult.ca()));
     *     }
     * }
     * ```
     * 
     */
    public static Output<GetCertificatesResult> getCertificates(GetCertificatesArgs args, InvokeOptions options) {
        return Deployment.getInstance().invoke("ovh:CloudProjectDatabase/getCertificates:getCertificates", TypeShape.of(GetCertificatesResult.class), args, Utilities.withVersion(options));
    }
    /**
     * Use this data source to get information about certificates of a cluster associated with a public cloud project.
     * 
     * ## Example Usage
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.ovh.CloudProjectDatabase.CloudProjectDatabaseFunctions;
     * import com.pulumi.ovh.CloudProjectDatabase.inputs.GetCertificatesArgs;
     * 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 certificates = CloudProjectDatabaseFunctions.getCertificates(GetCertificatesArgs.builder()
     *             .serviceName(&#34;XXX&#34;)
     *             .engine(&#34;YYY&#34;)
     *             .clusterId(&#34;ZZZ&#34;)
     *             .build());
     * 
     *         ctx.export(&#34;certificatesCa&#34;, certificates.applyValue(getCertificatesResult -&gt; getCertificatesResult.ca()));
     *     }
     * }
     * ```
     * 
     */
    public static CompletableFuture<GetCertificatesResult> getCertificatesPlain(GetCertificatesPlainArgs args, InvokeOptions options) {
        return Deployment.getInstance().invokeAsync("ovh:CloudProjectDatabase/getCertificates:getCertificates", TypeShape.of(GetCertificatesResult.class), args, Utilities.withVersion(options));
    }
    /**
     * Use this data source to get the managed database of a public cloud project.
     * 
     * ## Example Usage
     * 
     * To get information of a database cluster service:
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.ovh.CloudProjectDatabase.CloudProjectDatabaseFunctions;
     * import com.pulumi.ovh.CloudProjectDatabase.inputs.GetDatabaseArgs;
     * 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 db = CloudProjectDatabaseFunctions.getDatabase(GetDatabaseArgs.builder()
     *             .serviceName(&#34;XXXXXX&#34;)
     *             .engine(&#34;YYYY&#34;)
     *             .id(&#34;ZZZZ&#34;)
     *             .build());
     * 
     *         ctx.export(&#34;clusterId&#34;, db.applyValue(getDatabaseResult -&gt; getDatabaseResult.id()));
     *     }
     * }
     * ```
     * 
     */
    public static Output<GetDatabaseResult> getDatabase(GetDatabaseArgs args) {
        return getDatabase(args, InvokeOptions.Empty);
    }
    /**
     * Use this data source to get the managed database of a public cloud project.
     * 
     * ## Example Usage
     * 
     * To get information of a database cluster service:
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.ovh.CloudProjectDatabase.CloudProjectDatabaseFunctions;
     * import com.pulumi.ovh.CloudProjectDatabase.inputs.GetDatabaseArgs;
     * 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 db = CloudProjectDatabaseFunctions.getDatabase(GetDatabaseArgs.builder()
     *             .serviceName(&#34;XXXXXX&#34;)
     *             .engine(&#34;YYYY&#34;)
     *             .id(&#34;ZZZZ&#34;)
     *             .build());
     * 
     *         ctx.export(&#34;clusterId&#34;, db.applyValue(getDatabaseResult -&gt; getDatabaseResult.id()));
     *     }
     * }
     * ```
     * 
     */
    public static CompletableFuture<GetDatabaseResult> getDatabasePlain(GetDatabasePlainArgs args) {
        return getDatabasePlain(args, InvokeOptions.Empty);
    }
    /**
     * Use this data source to get the managed database of a public cloud project.
     * 
     * ## Example Usage
     * 
     * To get information of a database cluster service:
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.ovh.CloudProjectDatabase.CloudProjectDatabaseFunctions;
     * import com.pulumi.ovh.CloudProjectDatabase.inputs.GetDatabaseArgs;
     * 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 db = CloudProjectDatabaseFunctions.getDatabase(GetDatabaseArgs.builder()
     *             .serviceName(&#34;XXXXXX&#34;)
     *             .engine(&#34;YYYY&#34;)
     *             .id(&#34;ZZZZ&#34;)
     *             .build());
     * 
     *         ctx.export(&#34;clusterId&#34;, db.applyValue(getDatabaseResult -&gt; getDatabaseResult.id()));
     *     }
     * }
     * ```
     * 
     */
    public static Output<GetDatabaseResult> getDatabase(GetDatabaseArgs args, InvokeOptions options) {
        return Deployment.getInstance().invoke("ovh:CloudProjectDatabase/getDatabase:getDatabase", TypeShape.of(GetDatabaseResult.class), args, Utilities.withVersion(options));
    }
    /**
     * Use this data source to get the managed database of a public cloud project.
     * 
     * ## Example Usage
     * 
     * To get information of a database cluster service:
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.ovh.CloudProjectDatabase.CloudProjectDatabaseFunctions;
     * import com.pulumi.ovh.CloudProjectDatabase.inputs.GetDatabaseArgs;
     * 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 db = CloudProjectDatabaseFunctions.getDatabase(GetDatabaseArgs.builder()
     *             .serviceName(&#34;XXXXXX&#34;)
     *             .engine(&#34;YYYY&#34;)
     *             .id(&#34;ZZZZ&#34;)
     *             .build());
     * 
     *         ctx.export(&#34;clusterId&#34;, db.applyValue(getDatabaseResult -&gt; getDatabaseResult.id()));
     *     }
     * }
     * ```
     * 
     */
    public static CompletableFuture<GetDatabaseResult> getDatabasePlain(GetDatabasePlainArgs args, InvokeOptions options) {
        return Deployment.getInstance().invokeAsync("ovh:CloudProjectDatabase/getDatabase:getDatabase", TypeShape.of(GetDatabaseResult.class), args, Utilities.withVersion(options));
    }
    /**
     * Use this data source to get information about a database of a database cluster associated with a public cloud project.
     * 
     * ## Example Usage
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.ovh.CloudProjectDatabase.CloudProjectDatabaseFunctions;
     * import com.pulumi.ovh.CloudProjectDatabase.inputs.GetDatabaseInstanceArgs;
     * 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 database = CloudProjectDatabaseFunctions.getDatabaseInstance(GetDatabaseInstanceArgs.builder()
     *             .serviceName(&#34;XXX&#34;)
     *             .engine(&#34;YYY&#34;)
     *             .clusterId(&#34;ZZZ&#34;)
     *             .name(&#34;UUU&#34;)
     *             .build());
     * 
     *         ctx.export(&#34;databaseName&#34;, database.applyValue(getDatabaseInstanceResult -&gt; getDatabaseInstanceResult.name()));
     *     }
     * }
     * ```
     * 
     */
    public static Output<GetDatabaseInstanceResult> getDatabaseInstance(GetDatabaseInstanceArgs args) {
        return getDatabaseInstance(args, InvokeOptions.Empty);
    }
    /**
     * Use this data source to get information about a database of a database cluster associated with a public cloud project.
     * 
     * ## Example Usage
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.ovh.CloudProjectDatabase.CloudProjectDatabaseFunctions;
     * import com.pulumi.ovh.CloudProjectDatabase.inputs.GetDatabaseInstanceArgs;
     * 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 database = CloudProjectDatabaseFunctions.getDatabaseInstance(GetDatabaseInstanceArgs.builder()
     *             .serviceName(&#34;XXX&#34;)
     *             .engine(&#34;YYY&#34;)
     *             .clusterId(&#34;ZZZ&#34;)
     *             .name(&#34;UUU&#34;)
     *             .build());
     * 
     *         ctx.export(&#34;databaseName&#34;, database.applyValue(getDatabaseInstanceResult -&gt; getDatabaseInstanceResult.name()));
     *     }
     * }
     * ```
     * 
     */
    public static CompletableFuture<GetDatabaseInstanceResult> getDatabaseInstancePlain(GetDatabaseInstancePlainArgs args) {
        return getDatabaseInstancePlain(args, InvokeOptions.Empty);
    }
    /**
     * Use this data source to get information about a database of a database cluster associated with a public cloud project.
     * 
     * ## Example Usage
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.ovh.CloudProjectDatabase.CloudProjectDatabaseFunctions;
     * import com.pulumi.ovh.CloudProjectDatabase.inputs.GetDatabaseInstanceArgs;
     * 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 database = CloudProjectDatabaseFunctions.getDatabaseInstance(GetDatabaseInstanceArgs.builder()
     *             .serviceName(&#34;XXX&#34;)
     *             .engine(&#34;YYY&#34;)
     *             .clusterId(&#34;ZZZ&#34;)
     *             .name(&#34;UUU&#34;)
     *             .build());
     * 
     *         ctx.export(&#34;databaseName&#34;, database.applyValue(getDatabaseInstanceResult -&gt; getDatabaseInstanceResult.name()));
     *     }
     * }
     * ```
     * 
     */
    public static Output<GetDatabaseInstanceResult> getDatabaseInstance(GetDatabaseInstanceArgs args, InvokeOptions options) {
        return Deployment.getInstance().invoke("ovh:CloudProjectDatabase/getDatabaseInstance:getDatabaseInstance", TypeShape.of(GetDatabaseInstanceResult.class), args, Utilities.withVersion(options));
    }
    /**
     * Use this data source to get information about a database of a database cluster associated with a public cloud project.
     * 
     * ## Example Usage
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.ovh.CloudProjectDatabase.CloudProjectDatabaseFunctions;
     * import com.pulumi.ovh.CloudProjectDatabase.inputs.GetDatabaseInstanceArgs;
     * 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 database = CloudProjectDatabaseFunctions.getDatabaseInstance(GetDatabaseInstanceArgs.builder()
     *             .serviceName(&#34;XXX&#34;)
     *             .engine(&#34;YYY&#34;)
     *             .clusterId(&#34;ZZZ&#34;)
     *             .name(&#34;UUU&#34;)
     *             .build());
     * 
     *         ctx.export(&#34;databaseName&#34;, database.applyValue(getDatabaseInstanceResult -&gt; getDatabaseInstanceResult.name()));
     *     }
     * }
     * ```
     * 
     */
    public static CompletableFuture<GetDatabaseInstanceResult> getDatabaseInstancePlain(GetDatabaseInstancePlainArgs args, InvokeOptions options) {
        return Deployment.getInstance().invokeAsync("ovh:CloudProjectDatabase/getDatabaseInstance:getDatabaseInstance", TypeShape.of(GetDatabaseInstanceResult.class), args, Utilities.withVersion(options));
    }
    /**
     * Use this data source to get the list of databases of a database cluster associated with a public cloud project.
     * 
     * ## Example Usage
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.ovh.CloudProjectDatabase.CloudProjectDatabaseFunctions;
     * import com.pulumi.ovh.CloudProjectDatabase.inputs.GetDatabaseInstancesArgs;
     * 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 databases = CloudProjectDatabaseFunctions.getDatabaseInstances(GetDatabaseInstancesArgs.builder()
     *             .serviceName(&#34;XXXX&#34;)
     *             .engine(&#34;YYYY&#34;)
     *             .clusterId(&#34;ZZZ&#34;)
     *             .build());
     * 
     *         ctx.export(&#34;databaseIds&#34;, databases.applyValue(getDatabaseInstancesResult -&gt; getDatabaseInstancesResult.databaseIds()));
     *     }
     * }
     * ```
     * 
     */
    public static Output<GetDatabaseInstancesResult> getDatabaseInstances(GetDatabaseInstancesArgs args) {
        return getDatabaseInstances(args, InvokeOptions.Empty);
    }
    /**
     * Use this data source to get the list of databases of a database cluster associated with a public cloud project.
     * 
     * ## Example Usage
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.ovh.CloudProjectDatabase.CloudProjectDatabaseFunctions;
     * import com.pulumi.ovh.CloudProjectDatabase.inputs.GetDatabaseInstancesArgs;
     * 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 databases = CloudProjectDatabaseFunctions.getDatabaseInstances(GetDatabaseInstancesArgs.builder()
     *             .serviceName(&#34;XXXX&#34;)
     *             .engine(&#34;YYYY&#34;)
     *             .clusterId(&#34;ZZZ&#34;)
     *             .build());
     * 
     *         ctx.export(&#34;databaseIds&#34;, databases.applyValue(getDatabaseInstancesResult -&gt; getDatabaseInstancesResult.databaseIds()));
     *     }
     * }
     * ```
     * 
     */
    public static CompletableFuture<GetDatabaseInstancesResult> getDatabaseInstancesPlain(GetDatabaseInstancesPlainArgs args) {
        return getDatabaseInstancesPlain(args, InvokeOptions.Empty);
    }
    /**
     * Use this data source to get the list of databases of a database cluster associated with a public cloud project.
     * 
     * ## Example Usage
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.ovh.CloudProjectDatabase.CloudProjectDatabaseFunctions;
     * import com.pulumi.ovh.CloudProjectDatabase.inputs.GetDatabaseInstancesArgs;
     * 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 databases = CloudProjectDatabaseFunctions.getDatabaseInstances(GetDatabaseInstancesArgs.builder()
     *             .serviceName(&#34;XXXX&#34;)
     *             .engine(&#34;YYYY&#34;)
     *             .clusterId(&#34;ZZZ&#34;)
     *             .build());
     * 
     *         ctx.export(&#34;databaseIds&#34;, databases.applyValue(getDatabaseInstancesResult -&gt; getDatabaseInstancesResult.databaseIds()));
     *     }
     * }
     * ```
     * 
     */
    public static Output<GetDatabaseInstancesResult> getDatabaseInstances(GetDatabaseInstancesArgs args, InvokeOptions options) {
        return Deployment.getInstance().invoke("ovh:CloudProjectDatabase/getDatabaseInstances:getDatabaseInstances", TypeShape.of(GetDatabaseInstancesResult.class), args, Utilities.withVersion(options));
    }
    /**
     * Use this data source to get the list of databases of a database cluster associated with a public cloud project.
     * 
     * ## Example Usage
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.ovh.CloudProjectDatabase.CloudProjectDatabaseFunctions;
     * import com.pulumi.ovh.CloudProjectDatabase.inputs.GetDatabaseInstancesArgs;
     * 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 databases = CloudProjectDatabaseFunctions.getDatabaseInstances(GetDatabaseInstancesArgs.builder()
     *             .serviceName(&#34;XXXX&#34;)
     *             .engine(&#34;YYYY&#34;)
     *             .clusterId(&#34;ZZZ&#34;)
     *             .build());
     * 
     *         ctx.export(&#34;databaseIds&#34;, databases.applyValue(getDatabaseInstancesResult -&gt; getDatabaseInstancesResult.databaseIds()));
     *     }
     * }
     * ```
     * 
     */
    public static CompletableFuture<GetDatabaseInstancesResult> getDatabaseInstancesPlain(GetDatabaseInstancesPlainArgs args, InvokeOptions options) {
        return Deployment.getInstance().invokeAsync("ovh:CloudProjectDatabase/getDatabaseInstances:getDatabaseInstances", TypeShape.of(GetDatabaseInstancesResult.class), args, Utilities.withVersion(options));
    }
    /**
     * Use this data source to get information about an integration of a database cluster associated with a public cloud project.
     * 
     * ## Example Usage
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.ovh.CloudProjectDatabase.CloudProjectDatabaseFunctions;
     * import com.pulumi.ovh.CloudProjectDatabase.inputs.GetDatabaseIntegrationArgs;
     * 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 integration = CloudProjectDatabaseFunctions.getDatabaseIntegration(GetDatabaseIntegrationArgs.builder()
     *             .serviceName(&#34;XXX&#34;)
     *             .engine(&#34;YYY&#34;)
     *             .clusterId(&#34;ZZZ&#34;)
     *             .id(&#34;UUU&#34;)
     *             .build());
     * 
     *         ctx.export(&#34;integrationType&#34;, integration.applyValue(getDatabaseIntegrationResult -&gt; getDatabaseIntegrationResult.type()));
     *     }
     * }
     * ```
     * 
     */
    public static Output<GetDatabaseIntegrationResult> getDatabaseIntegration(GetDatabaseIntegrationArgs args) {
        return getDatabaseIntegration(args, InvokeOptions.Empty);
    }
    /**
     * Use this data source to get information about an integration of a database cluster associated with a public cloud project.
     * 
     * ## Example Usage
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.ovh.CloudProjectDatabase.CloudProjectDatabaseFunctions;
     * import com.pulumi.ovh.CloudProjectDatabase.inputs.GetDatabaseIntegrationArgs;
     * 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 integration = CloudProjectDatabaseFunctions.getDatabaseIntegration(GetDatabaseIntegrationArgs.builder()
     *             .serviceName(&#34;XXX&#34;)
     *             .engine(&#34;YYY&#34;)
     *             .clusterId(&#34;ZZZ&#34;)
     *             .id(&#34;UUU&#34;)
     *             .build());
     * 
     *         ctx.export(&#34;integrationType&#34;, integration.applyValue(getDatabaseIntegrationResult -&gt; getDatabaseIntegrationResult.type()));
     *     }
     * }
     * ```
     * 
     */
    public static CompletableFuture<GetDatabaseIntegrationResult> getDatabaseIntegrationPlain(GetDatabaseIntegrationPlainArgs args) {
        return getDatabaseIntegrationPlain(args, InvokeOptions.Empty);
    }
    /**
     * Use this data source to get information about an integration of a database cluster associated with a public cloud project.
     * 
     * ## Example Usage
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.ovh.CloudProjectDatabase.CloudProjectDatabaseFunctions;
     * import com.pulumi.ovh.CloudProjectDatabase.inputs.GetDatabaseIntegrationArgs;
     * 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 integration = CloudProjectDatabaseFunctions.getDatabaseIntegration(GetDatabaseIntegrationArgs.builder()
     *             .serviceName(&#34;XXX&#34;)
     *             .engine(&#34;YYY&#34;)
     *             .clusterId(&#34;ZZZ&#34;)
     *             .id(&#34;UUU&#34;)
     *             .build());
     * 
     *         ctx.export(&#34;integrationType&#34;, integration.applyValue(getDatabaseIntegrationResult -&gt; getDatabaseIntegrationResult.type()));
     *     }
     * }
     * ```
     * 
     */
    public static Output<GetDatabaseIntegrationResult> getDatabaseIntegration(GetDatabaseIntegrationArgs args, InvokeOptions options) {
        return Deployment.getInstance().invoke("ovh:CloudProjectDatabase/getDatabaseIntegration:getDatabaseIntegration", TypeShape.of(GetDatabaseIntegrationResult.class), args, Utilities.withVersion(options));
    }
    /**
     * Use this data source to get information about an integration of a database cluster associated with a public cloud project.
     * 
     * ## Example Usage
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.ovh.CloudProjectDatabase.CloudProjectDatabaseFunctions;
     * import com.pulumi.ovh.CloudProjectDatabase.inputs.GetDatabaseIntegrationArgs;
     * 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 integration = CloudProjectDatabaseFunctions.getDatabaseIntegration(GetDatabaseIntegrationArgs.builder()
     *             .serviceName(&#34;XXX&#34;)
     *             .engine(&#34;YYY&#34;)
     *             .clusterId(&#34;ZZZ&#34;)
     *             .id(&#34;UUU&#34;)
     *             .build());
     * 
     *         ctx.export(&#34;integrationType&#34;, integration.applyValue(getDatabaseIntegrationResult -&gt; getDatabaseIntegrationResult.type()));
     *     }
     * }
     * ```
     * 
     */
    public static CompletableFuture<GetDatabaseIntegrationResult> getDatabaseIntegrationPlain(GetDatabaseIntegrationPlainArgs args, InvokeOptions options) {
        return Deployment.getInstance().invokeAsync("ovh:CloudProjectDatabase/getDatabaseIntegration:getDatabaseIntegration", TypeShape.of(GetDatabaseIntegrationResult.class), args, Utilities.withVersion(options));
    }
    /**
     * Use this data source to get the list of integrations of a database cluster associated with a public cloud project.
     * 
     * ## Example Usage
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.ovh.CloudProjectDatabase.CloudProjectDatabaseFunctions;
     * import com.pulumi.ovh.CloudProjectDatabase.inputs.GetDatabaseIntegrationsArgs;
     * 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 integrations = CloudProjectDatabaseFunctions.getDatabaseIntegrations(GetDatabaseIntegrationsArgs.builder()
     *             .serviceName(&#34;XXX&#34;)
     *             .engine(&#34;YYY&#34;)
     *             .clusterId(&#34;ZZZ&#34;)
     *             .build());
     * 
     *         ctx.export(&#34;integrationIds&#34;, integrations.applyValue(getDatabaseIntegrationsResult -&gt; getDatabaseIntegrationsResult.integrationIds()));
     *     }
     * }
     * ```
     * 
     */
    public static Output<GetDatabaseIntegrationsResult> getDatabaseIntegrations(GetDatabaseIntegrationsArgs args) {
        return getDatabaseIntegrations(args, InvokeOptions.Empty);
    }
    /**
     * Use this data source to get the list of integrations of a database cluster associated with a public cloud project.
     * 
     * ## Example Usage
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.ovh.CloudProjectDatabase.CloudProjectDatabaseFunctions;
     * import com.pulumi.ovh.CloudProjectDatabase.inputs.GetDatabaseIntegrationsArgs;
     * 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 integrations = CloudProjectDatabaseFunctions.getDatabaseIntegrations(GetDatabaseIntegrationsArgs.builder()
     *             .serviceName(&#34;XXX&#34;)
     *             .engine(&#34;YYY&#34;)
     *             .clusterId(&#34;ZZZ&#34;)
     *             .build());
     * 
     *         ctx.export(&#34;integrationIds&#34;, integrations.applyValue(getDatabaseIntegrationsResult -&gt; getDatabaseIntegrationsResult.integrationIds()));
     *     }
     * }
     * ```
     * 
     */
    public static CompletableFuture<GetDatabaseIntegrationsResult> getDatabaseIntegrationsPlain(GetDatabaseIntegrationsPlainArgs args) {
        return getDatabaseIntegrationsPlain(args, InvokeOptions.Empty);
    }
    /**
     * Use this data source to get the list of integrations of a database cluster associated with a public cloud project.
     * 
     * ## Example Usage
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.ovh.CloudProjectDatabase.CloudProjectDatabaseFunctions;
     * import com.pulumi.ovh.CloudProjectDatabase.inputs.GetDatabaseIntegrationsArgs;
     * 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 integrations = CloudProjectDatabaseFunctions.getDatabaseIntegrations(GetDatabaseIntegrationsArgs.builder()
     *             .serviceName(&#34;XXX&#34;)
     *             .engine(&#34;YYY&#34;)
     *             .clusterId(&#34;ZZZ&#34;)
     *             .build());
     * 
     *         ctx.export(&#34;integrationIds&#34;, integrations.applyValue(getDatabaseIntegrationsResult -&gt; getDatabaseIntegrationsResult.integrationIds()));
     *     }
     * }
     * ```
     * 
     */
    public static Output<GetDatabaseIntegrationsResult> getDatabaseIntegrations(GetDatabaseIntegrationsArgs args, InvokeOptions options) {
        return Deployment.getInstance().invoke("ovh:CloudProjectDatabase/getDatabaseIntegrations:getDatabaseIntegrations", TypeShape.of(GetDatabaseIntegrationsResult.class), args, Utilities.withVersion(options));
    }
    /**
     * Use this data source to get the list of integrations of a database cluster associated with a public cloud project.
     * 
     * ## Example Usage
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.ovh.CloudProjectDatabase.CloudProjectDatabaseFunctions;
     * import com.pulumi.ovh.CloudProjectDatabase.inputs.GetDatabaseIntegrationsArgs;
     * 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 integrations = CloudProjectDatabaseFunctions.getDatabaseIntegrations(GetDatabaseIntegrationsArgs.builder()
     *             .serviceName(&#34;XXX&#34;)
     *             .engine(&#34;YYY&#34;)
     *             .clusterId(&#34;ZZZ&#34;)
     *             .build());
     * 
     *         ctx.export(&#34;integrationIds&#34;, integrations.applyValue(getDatabaseIntegrationsResult -&gt; getDatabaseIntegrationsResult.integrationIds()));
     *     }
     * }
     * ```
     * 
     */
    public static CompletableFuture<GetDatabaseIntegrationsResult> getDatabaseIntegrationsPlain(GetDatabaseIntegrationsPlainArgs args, InvokeOptions options) {
        return Deployment.getInstance().invokeAsync("ovh:CloudProjectDatabase/getDatabaseIntegrations:getDatabaseIntegrations", TypeShape.of(GetDatabaseIntegrationsResult.class), args, Utilities.withVersion(options));
    }
    /**
     * Use this data source to get the list of managed databases of a public cloud project.
     * 
     * ## Example Usage
     * 
     * To get the list of database clusters service for a given engine:
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.ovh.CloudProjectDatabase.CloudProjectDatabaseFunctions;
     * import com.pulumi.ovh.CloudProjectDatabase.inputs.GetDatabasesArgs;
     * 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 dbs = CloudProjectDatabaseFunctions.getDatabases(GetDatabasesArgs.builder()
     *             .serviceName(&#34;XXXXXX&#34;)
     *             .engine(&#34;YYYY&#34;)
     *             .build());
     * 
     *         ctx.export(&#34;clusterIds&#34;, dbs.applyValue(getDatabasesResult -&gt; getDatabasesResult.clusterIds()));
     *     }
     * }
     * ```
     * 
     */
    public static Output<GetDatabasesResult> getDatabases(GetDatabasesArgs args) {
        return getDatabases(args, InvokeOptions.Empty);
    }
    /**
     * Use this data source to get the list of managed databases of a public cloud project.
     * 
     * ## Example Usage
     * 
     * To get the list of database clusters service for a given engine:
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.ovh.CloudProjectDatabase.CloudProjectDatabaseFunctions;
     * import com.pulumi.ovh.CloudProjectDatabase.inputs.GetDatabasesArgs;
     * 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 dbs = CloudProjectDatabaseFunctions.getDatabases(GetDatabasesArgs.builder()
     *             .serviceName(&#34;XXXXXX&#34;)
     *             .engine(&#34;YYYY&#34;)
     *             .build());
     * 
     *         ctx.export(&#34;clusterIds&#34;, dbs.applyValue(getDatabasesResult -&gt; getDatabasesResult.clusterIds()));
     *     }
     * }
     * ```
     * 
     */
    public static CompletableFuture<GetDatabasesResult> getDatabasesPlain(GetDatabasesPlainArgs args) {
        return getDatabasesPlain(args, InvokeOptions.Empty);
    }
    /**
     * Use this data source to get the list of managed databases of a public cloud project.
     * 
     * ## Example Usage
     * 
     * To get the list of database clusters service for a given engine:
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.ovh.CloudProjectDatabase.CloudProjectDatabaseFunctions;
     * import com.pulumi.ovh.CloudProjectDatabase.inputs.GetDatabasesArgs;
     * 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 dbs = CloudProjectDatabaseFunctions.getDatabases(GetDatabasesArgs.builder()
     *             .serviceName(&#34;XXXXXX&#34;)
     *             .engine(&#34;YYYY&#34;)
     *             .build());
     * 
     *         ctx.export(&#34;clusterIds&#34;, dbs.applyValue(getDatabasesResult -&gt; getDatabasesResult.clusterIds()));
     *     }
     * }
     * ```
     * 
     */
    public static Output<GetDatabasesResult> getDatabases(GetDatabasesArgs args, InvokeOptions options) {
        return Deployment.getInstance().invoke("ovh:CloudProjectDatabase/getDatabases:getDatabases", TypeShape.of(GetDatabasesResult.class), args, Utilities.withVersion(options));
    }
    /**
     * Use this data source to get the list of managed databases of a public cloud project.
     * 
     * ## Example Usage
     * 
     * To get the list of database clusters service for a given engine:
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.ovh.CloudProjectDatabase.CloudProjectDatabaseFunctions;
     * import com.pulumi.ovh.CloudProjectDatabase.inputs.GetDatabasesArgs;
     * 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 dbs = CloudProjectDatabaseFunctions.getDatabases(GetDatabasesArgs.builder()
     *             .serviceName(&#34;XXXXXX&#34;)
     *             .engine(&#34;YYYY&#34;)
     *             .build());
     * 
     *         ctx.export(&#34;clusterIds&#34;, dbs.applyValue(getDatabasesResult -&gt; getDatabasesResult.clusterIds()));
     *     }
     * }
     * ```
     * 
     */
    public static CompletableFuture<GetDatabasesResult> getDatabasesPlain(GetDatabasesPlainArgs args, InvokeOptions options) {
        return Deployment.getInstance().invokeAsync("ovh:CloudProjectDatabase/getDatabases:getDatabases", TypeShape.of(GetDatabasesResult.class), args, Utilities.withVersion(options));
    }
    /**
     * Use the list of IP restrictions associated with a public cloud project.
     * 
     * ## Example Usage
     * 
     * To get the list of IP restriction on a database cluster service:
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.ovh.CloudProjectDatabase.CloudProjectDatabaseFunctions;
     * import com.pulumi.ovh.CloudProjectDatabase.inputs.GetIpRestrictionsArgs;
     * 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 iprestrictions = CloudProjectDatabaseFunctions.getIpRestrictions(GetIpRestrictionsArgs.builder()
     *             .serviceName(&#34;XXXXXX&#34;)
     *             .engine(&#34;YYYY&#34;)
     *             .clusterId(&#34;ZZZZ&#34;)
     *             .build());
     * 
     *         ctx.export(&#34;ips&#34;, iprestrictions.applyValue(getIpRestrictionsResult -&gt; getIpRestrictionsResult.ips()));
     *     }
     * }
     * ```
     * 
     */
    public static Output<GetIpRestrictionsResult> getIpRestrictions(GetIpRestrictionsArgs args) {
        return getIpRestrictions(args, InvokeOptions.Empty);
    }
    /**
     * Use the list of IP restrictions associated with a public cloud project.
     * 
     * ## Example Usage
     * 
     * To get the list of IP restriction on a database cluster service:
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.ovh.CloudProjectDatabase.CloudProjectDatabaseFunctions;
     * import com.pulumi.ovh.CloudProjectDatabase.inputs.GetIpRestrictionsArgs;
     * 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 iprestrictions = CloudProjectDatabaseFunctions.getIpRestrictions(GetIpRestrictionsArgs.builder()
     *             .serviceName(&#34;XXXXXX&#34;)
     *             .engine(&#34;YYYY&#34;)
     *             .clusterId(&#34;ZZZZ&#34;)
     *             .build());
     * 
     *         ctx.export(&#34;ips&#34;, iprestrictions.applyValue(getIpRestrictionsResult -&gt; getIpRestrictionsResult.ips()));
     *     }
     * }
     * ```
     * 
     */
    public static CompletableFuture<GetIpRestrictionsResult> getIpRestrictionsPlain(GetIpRestrictionsPlainArgs args) {
        return getIpRestrictionsPlain(args, InvokeOptions.Empty);
    }
    /**
     * Use the list of IP restrictions associated with a public cloud project.
     * 
     * ## Example Usage
     * 
     * To get the list of IP restriction on a database cluster service:
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.ovh.CloudProjectDatabase.CloudProjectDatabaseFunctions;
     * import com.pulumi.ovh.CloudProjectDatabase.inputs.GetIpRestrictionsArgs;
     * 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 iprestrictions = CloudProjectDatabaseFunctions.getIpRestrictions(GetIpRestrictionsArgs.builder()
     *             .serviceName(&#34;XXXXXX&#34;)
     *             .engine(&#34;YYYY&#34;)
     *             .clusterId(&#34;ZZZZ&#34;)
     *             .build());
     * 
     *         ctx.export(&#34;ips&#34;, iprestrictions.applyValue(getIpRestrictionsResult -&gt; getIpRestrictionsResult.ips()));
     *     }
     * }
     * ```
     * 
     */
    public static Output<GetIpRestrictionsResult> getIpRestrictions(GetIpRestrictionsArgs args, InvokeOptions options) {
        return Deployment.getInstance().invoke("ovh:CloudProjectDatabase/getIpRestrictions:getIpRestrictions", TypeShape.of(GetIpRestrictionsResult.class), args, Utilities.withVersion(options));
    }
    /**
     * Use the list of IP restrictions associated with a public cloud project.
     * 
     * ## Example Usage
     * 
     * To get the list of IP restriction on a database cluster service:
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.ovh.CloudProjectDatabase.CloudProjectDatabaseFunctions;
     * import com.pulumi.ovh.CloudProjectDatabase.inputs.GetIpRestrictionsArgs;
     * 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 iprestrictions = CloudProjectDatabaseFunctions.getIpRestrictions(GetIpRestrictionsArgs.builder()
     *             .serviceName(&#34;XXXXXX&#34;)
     *             .engine(&#34;YYYY&#34;)
     *             .clusterId(&#34;ZZZZ&#34;)
     *             .build());
     * 
     *         ctx.export(&#34;ips&#34;, iprestrictions.applyValue(getIpRestrictionsResult -&gt; getIpRestrictionsResult.ips()));
     *     }
     * }
     * ```
     * 
     */
    public static CompletableFuture<GetIpRestrictionsResult> getIpRestrictionsPlain(GetIpRestrictionsPlainArgs args, InvokeOptions options) {
        return Deployment.getInstance().invokeAsync("ovh:CloudProjectDatabase/getIpRestrictions:getIpRestrictions", TypeShape.of(GetIpRestrictionsResult.class), args, Utilities.withVersion(options));
    }
    /**
     * Use this data source to get information about an ACL of a kafka cluster associated with a public cloud project.
     * 
     * ## Example Usage
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.ovh.CloudProjectDatabase.CloudProjectDatabaseFunctions;
     * import com.pulumi.ovh.CloudProjectDatabase.inputs.GetKafkaAclArgs;
     * 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 acl = CloudProjectDatabaseFunctions.getKafkaAcl(GetKafkaAclArgs.builder()
     *             .serviceName(&#34;XXX&#34;)
     *             .clusterId(&#34;YYY&#34;)
     *             .id(&#34;ZZZ&#34;)
     *             .build());
     * 
     *         ctx.export(&#34;aclPermission&#34;, acl.applyValue(getKafkaAclResult -&gt; getKafkaAclResult.permission()));
     *     }
     * }
     * ```
     * 
     */
    public static Output<GetKafkaAclResult> getKafkaAcl(GetKafkaAclArgs args) {
        return getKafkaAcl(args, InvokeOptions.Empty);
    }
    /**
     * Use this data source to get information about an ACL of a kafka cluster associated with a public cloud project.
     * 
     * ## Example Usage
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.ovh.CloudProjectDatabase.CloudProjectDatabaseFunctions;
     * import com.pulumi.ovh.CloudProjectDatabase.inputs.GetKafkaAclArgs;
     * 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 acl = CloudProjectDatabaseFunctions.getKafkaAcl(GetKafkaAclArgs.builder()
     *             .serviceName(&#34;XXX&#34;)
     *             .clusterId(&#34;YYY&#34;)
     *             .id(&#34;ZZZ&#34;)
     *             .build());
     * 
     *         ctx.export(&#34;aclPermission&#34;, acl.applyValue(getKafkaAclResult -&gt; getKafkaAclResult.permission()));
     *     }
     * }
     * ```
     * 
     */
    public static CompletableFuture<GetKafkaAclResult> getKafkaAclPlain(GetKafkaAclPlainArgs args) {
        return getKafkaAclPlain(args, InvokeOptions.Empty);
    }
    /**
     * Use this data source to get information about an ACL of a kafka cluster associated with a public cloud project.
     * 
     * ## Example Usage
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.ovh.CloudProjectDatabase.CloudProjectDatabaseFunctions;
     * import com.pulumi.ovh.CloudProjectDatabase.inputs.GetKafkaAclArgs;
     * 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 acl = CloudProjectDatabaseFunctions.getKafkaAcl(GetKafkaAclArgs.builder()
     *             .serviceName(&#34;XXX&#34;)
     *             .clusterId(&#34;YYY&#34;)
     *             .id(&#34;ZZZ&#34;)
     *             .build());
     * 
     *         ctx.export(&#34;aclPermission&#34;, acl.applyValue(getKafkaAclResult -&gt; getKafkaAclResult.permission()));
     *     }
     * }
     * ```
     * 
     */
    public static Output<GetKafkaAclResult> getKafkaAcl(GetKafkaAclArgs args, InvokeOptions options) {
        return Deployment.getInstance().invoke("ovh:CloudProjectDatabase/getKafkaAcl:getKafkaAcl", TypeShape.of(GetKafkaAclResult.class), args, Utilities.withVersion(options));
    }
    /**
     * Use this data source to get information about an ACL of a kafka cluster associated with a public cloud project.
     * 
     * ## Example Usage
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.ovh.CloudProjectDatabase.CloudProjectDatabaseFunctions;
     * import com.pulumi.ovh.CloudProjectDatabase.inputs.GetKafkaAclArgs;
     * 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 acl = CloudProjectDatabaseFunctions.getKafkaAcl(GetKafkaAclArgs.builder()
     *             .serviceName(&#34;XXX&#34;)
     *             .clusterId(&#34;YYY&#34;)
     *             .id(&#34;ZZZ&#34;)
     *             .build());
     * 
     *         ctx.export(&#34;aclPermission&#34;, acl.applyValue(getKafkaAclResult -&gt; getKafkaAclResult.permission()));
     *     }
     * }
     * ```
     * 
     */
    public static CompletableFuture<GetKafkaAclResult> getKafkaAclPlain(GetKafkaAclPlainArgs args, InvokeOptions options) {
        return Deployment.getInstance().invokeAsync("ovh:CloudProjectDatabase/getKafkaAcl:getKafkaAcl", TypeShape.of(GetKafkaAclResult.class), args, Utilities.withVersion(options));
    }
    /**
     * Use this data source to get the list of ACLs of a kafka cluster associated with a public cloud project.
     * 
     * ## Example Usage
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.ovh.CloudProjectDatabase.CloudProjectDatabaseFunctions;
     * import com.pulumi.ovh.CloudProjectDatabase.inputs.GetKafkaAclsArgs;
     * 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 acls = CloudProjectDatabaseFunctions.getKafkaAcls(GetKafkaAclsArgs.builder()
     *             .serviceName(&#34;XXX&#34;)
     *             .clusterId(&#34;YYY&#34;)
     *             .build());
     * 
     *         ctx.export(&#34;aclIds&#34;, acls.applyValue(getKafkaAclsResult -&gt; getKafkaAclsResult.aclIds()));
     *     }
     * }
     * ```
     * 
     */
    public static Output<GetKafkaAclsResult> getKafkaAcls(GetKafkaAclsArgs args) {
        return getKafkaAcls(args, InvokeOptions.Empty);
    }
    /**
     * Use this data source to get the list of ACLs of a kafka cluster associated with a public cloud project.
     * 
     * ## Example Usage
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.ovh.CloudProjectDatabase.CloudProjectDatabaseFunctions;
     * import com.pulumi.ovh.CloudProjectDatabase.inputs.GetKafkaAclsArgs;
     * 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 acls = CloudProjectDatabaseFunctions.getKafkaAcls(GetKafkaAclsArgs.builder()
     *             .serviceName(&#34;XXX&#34;)
     *             .clusterId(&#34;YYY&#34;)
     *             .build());
     * 
     *         ctx.export(&#34;aclIds&#34;, acls.applyValue(getKafkaAclsResult -&gt; getKafkaAclsResult.aclIds()));
     *     }
     * }
     * ```
     * 
     */
    public static CompletableFuture<GetKafkaAclsResult> getKafkaAclsPlain(GetKafkaAclsPlainArgs args) {
        return getKafkaAclsPlain(args, InvokeOptions.Empty);
    }
    /**
     * Use this data source to get the list of ACLs of a kafka cluster associated with a public cloud project.
     * 
     * ## Example Usage
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.ovh.CloudProjectDatabase.CloudProjectDatabaseFunctions;
     * import com.pulumi.ovh.CloudProjectDatabase.inputs.GetKafkaAclsArgs;
     * 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 acls = CloudProjectDatabaseFunctions.getKafkaAcls(GetKafkaAclsArgs.builder()
     *             .serviceName(&#34;XXX&#34;)
     *             .clusterId(&#34;YYY&#34;)
     *             .build());
     * 
     *         ctx.export(&#34;aclIds&#34;, acls.applyValue(getKafkaAclsResult -&gt; getKafkaAclsResult.aclIds()));
     *     }
     * }
     * ```
     * 
     */
    public static Output<GetKafkaAclsResult> getKafkaAcls(GetKafkaAclsArgs args, InvokeOptions options) {
        return Deployment.getInstance().invoke("ovh:CloudProjectDatabase/getKafkaAcls:getKafkaAcls", TypeShape.of(GetKafkaAclsResult.class), args, Utilities.withVersion(options));
    }
    /**
     * Use this data source to get the list of ACLs of a kafka cluster associated with a public cloud project.
     * 
     * ## Example Usage
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.ovh.CloudProjectDatabase.CloudProjectDatabaseFunctions;
     * import com.pulumi.ovh.CloudProjectDatabase.inputs.GetKafkaAclsArgs;
     * 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 acls = CloudProjectDatabaseFunctions.getKafkaAcls(GetKafkaAclsArgs.builder()
     *             .serviceName(&#34;XXX&#34;)
     *             .clusterId(&#34;YYY&#34;)
     *             .build());
     * 
     *         ctx.export(&#34;aclIds&#34;, acls.applyValue(getKafkaAclsResult -&gt; getKafkaAclsResult.aclIds()));
     *     }
     * }
     * ```
     * 
     */
    public static CompletableFuture<GetKafkaAclsResult> getKafkaAclsPlain(GetKafkaAclsPlainArgs args, InvokeOptions options) {
        return Deployment.getInstance().invokeAsync("ovh:CloudProjectDatabase/getKafkaAcls:getKafkaAcls", TypeShape.of(GetKafkaAclsResult.class), args, Utilities.withVersion(options));
    }
    /**
     * Use this data source to get information about a topic of a kafka cluster associated with a public cloud project.
     * 
     * ## Example Usage
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.ovh.CloudProjectDatabase.CloudProjectDatabaseFunctions;
     * import com.pulumi.ovh.CloudProjectDatabase.inputs.GetKafkaTopicArgs;
     * 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 topic = CloudProjectDatabaseFunctions.getKafkaTopic(GetKafkaTopicArgs.builder()
     *             .serviceName(&#34;XXX&#34;)
     *             .clusterId(&#34;YYY&#34;)
     *             .id(&#34;ZZZ&#34;)
     *             .build());
     * 
     *         ctx.export(&#34;topicName&#34;, topic.applyValue(getKafkaTopicResult -&gt; getKafkaTopicResult.name()));
     *     }
     * }
     * ```
     * 
     */
    public static Output<GetKafkaTopicResult> getKafkaTopic(GetKafkaTopicArgs args) {
        return getKafkaTopic(args, InvokeOptions.Empty);
    }
    /**
     * Use this data source to get information about a topic of a kafka cluster associated with a public cloud project.
     * 
     * ## Example Usage
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.ovh.CloudProjectDatabase.CloudProjectDatabaseFunctions;
     * import com.pulumi.ovh.CloudProjectDatabase.inputs.GetKafkaTopicArgs;
     * 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 topic = CloudProjectDatabaseFunctions.getKafkaTopic(GetKafkaTopicArgs.builder()
     *             .serviceName(&#34;XXX&#34;)
     *             .clusterId(&#34;YYY&#34;)
     *             .id(&#34;ZZZ&#34;)
     *             .build());
     * 
     *         ctx.export(&#34;topicName&#34;, topic.applyValue(getKafkaTopicResult -&gt; getKafkaTopicResult.name()));
     *     }
     * }
     * ```
     * 
     */
    public static CompletableFuture<GetKafkaTopicResult> getKafkaTopicPlain(GetKafkaTopicPlainArgs args) {
        return getKafkaTopicPlain(args, InvokeOptions.Empty);
    }
    /**
     * Use this data source to get information about a topic of a kafka cluster associated with a public cloud project.
     * 
     * ## Example Usage
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.ovh.CloudProjectDatabase.CloudProjectDatabaseFunctions;
     * import com.pulumi.ovh.CloudProjectDatabase.inputs.GetKafkaTopicArgs;
     * 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 topic = CloudProjectDatabaseFunctions.getKafkaTopic(GetKafkaTopicArgs.builder()
     *             .serviceName(&#34;XXX&#34;)
     *             .clusterId(&#34;YYY&#34;)
     *             .id(&#34;ZZZ&#34;)
     *             .build());
     * 
     *         ctx.export(&#34;topicName&#34;, topic.applyValue(getKafkaTopicResult -&gt; getKafkaTopicResult.name()));
     *     }
     * }
     * ```
     * 
     */
    public static Output<GetKafkaTopicResult> getKafkaTopic(GetKafkaTopicArgs args, InvokeOptions options) {
        return Deployment.getInstance().invoke("ovh:CloudProjectDatabase/getKafkaTopic:getKafkaTopic", TypeShape.of(GetKafkaTopicResult.class), args, Utilities.withVersion(options));
    }
    /**
     * Use this data source to get information about a topic of a kafka cluster associated with a public cloud project.
     * 
     * ## Example Usage
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.ovh.CloudProjectDatabase.CloudProjectDatabaseFunctions;
     * import com.pulumi.ovh.CloudProjectDatabase.inputs.GetKafkaTopicArgs;
     * 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 topic = CloudProjectDatabaseFunctions.getKafkaTopic(GetKafkaTopicArgs.builder()
     *             .serviceName(&#34;XXX&#34;)
     *             .clusterId(&#34;YYY&#34;)
     *             .id(&#34;ZZZ&#34;)
     *             .build());
     * 
     *         ctx.export(&#34;topicName&#34;, topic.applyValue(getKafkaTopicResult -&gt; getKafkaTopicResult.name()));
     *     }
     * }
     * ```
     * 
     */
    public static CompletableFuture<GetKafkaTopicResult> getKafkaTopicPlain(GetKafkaTopicPlainArgs args, InvokeOptions options) {
        return Deployment.getInstance().invokeAsync("ovh:CloudProjectDatabase/getKafkaTopic:getKafkaTopic", TypeShape.of(GetKafkaTopicResult.class), args, Utilities.withVersion(options));
    }
    /**
     * Use this data source to get the list of topics of a kafka cluster associated with a public cloud project.
     * 
     * ## Example Usage
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.ovh.CloudProjectDatabase.CloudProjectDatabaseFunctions;
     * import com.pulumi.ovh.CloudProjectDatabase.inputs.GetKafkaTopicsArgs;
     * 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 topics = CloudProjectDatabaseFunctions.getKafkaTopics(GetKafkaTopicsArgs.builder()
     *             .serviceName(&#34;XXX&#34;)
     *             .clusterId(&#34;YYY&#34;)
     *             .build());
     * 
     *         ctx.export(&#34;topicIds&#34;, topics.applyValue(getKafkaTopicsResult -&gt; getKafkaTopicsResult.topicIds()));
     *     }
     * }
     * ```
     * 
     */
    public static Output<GetKafkaTopicsResult> getKafkaTopics(GetKafkaTopicsArgs args) {
        return getKafkaTopics(args, InvokeOptions.Empty);
    }
    /**
     * Use this data source to get the list of topics of a kafka cluster associated with a public cloud project.
     * 
     * ## Example Usage
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.ovh.CloudProjectDatabase.CloudProjectDatabaseFunctions;
     * import com.pulumi.ovh.CloudProjectDatabase.inputs.GetKafkaTopicsArgs;
     * 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 topics = CloudProjectDatabaseFunctions.getKafkaTopics(GetKafkaTopicsArgs.builder()
     *             .serviceName(&#34;XXX&#34;)
     *             .clusterId(&#34;YYY&#34;)
     *             .build());
     * 
     *         ctx.export(&#34;topicIds&#34;, topics.applyValue(getKafkaTopicsResult -&gt; getKafkaTopicsResult.topicIds()));
     *     }
     * }
     * ```
     * 
     */
    public static CompletableFuture<GetKafkaTopicsResult> getKafkaTopicsPlain(GetKafkaTopicsPlainArgs args) {
        return getKafkaTopicsPlain(args, InvokeOptions.Empty);
    }
    /**
     * Use this data source to get the list of topics of a kafka cluster associated with a public cloud project.
     * 
     * ## Example Usage
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.ovh.CloudProjectDatabase.CloudProjectDatabaseFunctions;
     * import com.pulumi.ovh.CloudProjectDatabase.inputs.GetKafkaTopicsArgs;
     * 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 topics = CloudProjectDatabaseFunctions.getKafkaTopics(GetKafkaTopicsArgs.builder()
     *             .serviceName(&#34;XXX&#34;)
     *             .clusterId(&#34;YYY&#34;)
     *             .build());
     * 
     *         ctx.export(&#34;topicIds&#34;, topics.applyValue(getKafkaTopicsResult -&gt; getKafkaTopicsResult.topicIds()));
     *     }
     * }
     * ```
     * 
     */
    public static Output<GetKafkaTopicsResult> getKafkaTopics(GetKafkaTopicsArgs args, InvokeOptions options) {
        return Deployment.getInstance().invoke("ovh:CloudProjectDatabase/getKafkaTopics:getKafkaTopics", TypeShape.of(GetKafkaTopicsResult.class), args, Utilities.withVersion(options));
    }
    /**
     * Use this data source to get the list of topics of a kafka cluster associated with a public cloud project.
     * 
     * ## Example Usage
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.ovh.CloudProjectDatabase.CloudProjectDatabaseFunctions;
     * import com.pulumi.ovh.CloudProjectDatabase.inputs.GetKafkaTopicsArgs;
     * 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 topics = CloudProjectDatabaseFunctions.getKafkaTopics(GetKafkaTopicsArgs.builder()
     *             .serviceName(&#34;XXX&#34;)
     *             .clusterId(&#34;YYY&#34;)
     *             .build());
     * 
     *         ctx.export(&#34;topicIds&#34;, topics.applyValue(getKafkaTopicsResult -&gt; getKafkaTopicsResult.topicIds()));
     *     }
     * }
     * ```
     * 
     */
    public static CompletableFuture<GetKafkaTopicsResult> getKafkaTopicsPlain(GetKafkaTopicsPlainArgs args, InvokeOptions options) {
        return Deployment.getInstance().invokeAsync("ovh:CloudProjectDatabase/getKafkaTopics:getKafkaTopics", TypeShape.of(GetKafkaTopicsResult.class), args, Utilities.withVersion(options));
    }
    /**
     * Use this data source to get information about user acces of a kafka cluster associated with a public cloud project.
     * 
     * ## Example Usage
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.ovh.CloudProjectDatabase.CloudProjectDatabaseFunctions;
     * import com.pulumi.ovh.CloudProjectDatabase.inputs.GetKafkaUserAccessArgs;
     * 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 access = CloudProjectDatabaseFunctions.getKafkaUserAccess(GetKafkaUserAccessArgs.builder()
     *             .serviceName(&#34;XXX&#34;)
     *             .clusterId(&#34;YYY&#34;)
     *             .userId(&#34;ZZZ&#34;)
     *             .build());
     * 
     *         ctx.export(&#34;accessCert&#34;, access.applyValue(getKafkaUserAccessResult -&gt; getKafkaUserAccessResult.cert()));
     *     }
     * }
     * ```
     * 
     */
    public static Output<GetKafkaUserAccessResult> getKafkaUserAccess(GetKafkaUserAccessArgs args) {
        return getKafkaUserAccess(args, InvokeOptions.Empty);
    }
    /**
     * Use this data source to get information about user acces of a kafka cluster associated with a public cloud project.
     * 
     * ## Example Usage
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.ovh.CloudProjectDatabase.CloudProjectDatabaseFunctions;
     * import com.pulumi.ovh.CloudProjectDatabase.inputs.GetKafkaUserAccessArgs;
     * 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 access = CloudProjectDatabaseFunctions.getKafkaUserAccess(GetKafkaUserAccessArgs.builder()
     *             .serviceName(&#34;XXX&#34;)
     *             .clusterId(&#34;YYY&#34;)
     *             .userId(&#34;ZZZ&#34;)
     *             .build());
     * 
     *         ctx.export(&#34;accessCert&#34;, access.applyValue(getKafkaUserAccessResult -&gt; getKafkaUserAccessResult.cert()));
     *     }
     * }
     * ```
     * 
     */
    public static CompletableFuture<GetKafkaUserAccessResult> getKafkaUserAccessPlain(GetKafkaUserAccessPlainArgs args) {
        return getKafkaUserAccessPlain(args, InvokeOptions.Empty);
    }
    /**
     * Use this data source to get information about user acces of a kafka cluster associated with a public cloud project.
     * 
     * ## Example Usage
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.ovh.CloudProjectDatabase.CloudProjectDatabaseFunctions;
     * import com.pulumi.ovh.CloudProjectDatabase.inputs.GetKafkaUserAccessArgs;
     * 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 access = CloudProjectDatabaseFunctions.getKafkaUserAccess(GetKafkaUserAccessArgs.builder()
     *             .serviceName(&#34;XXX&#34;)
     *             .clusterId(&#34;YYY&#34;)
     *             .userId(&#34;ZZZ&#34;)
     *             .build());
     * 
     *         ctx.export(&#34;accessCert&#34;, access.applyValue(getKafkaUserAccessResult -&gt; getKafkaUserAccessResult.cert()));
     *     }
     * }
     * ```
     * 
     */
    public static Output<GetKafkaUserAccessResult> getKafkaUserAccess(GetKafkaUserAccessArgs args, InvokeOptions options) {
        return Deployment.getInstance().invoke("ovh:CloudProjectDatabase/getKafkaUserAccess:getKafkaUserAccess", TypeShape.of(GetKafkaUserAccessResult.class), args, Utilities.withVersion(options));
    }
    /**
     * Use this data source to get information about user acces of a kafka cluster associated with a public cloud project.
     * 
     * ## Example Usage
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.ovh.CloudProjectDatabase.CloudProjectDatabaseFunctions;
     * import com.pulumi.ovh.CloudProjectDatabase.inputs.GetKafkaUserAccessArgs;
     * 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 access = CloudProjectDatabaseFunctions.getKafkaUserAccess(GetKafkaUserAccessArgs.builder()
     *             .serviceName(&#34;XXX&#34;)
     *             .clusterId(&#34;YYY&#34;)
     *             .userId(&#34;ZZZ&#34;)
     *             .build());
     * 
     *         ctx.export(&#34;accessCert&#34;, access.applyValue(getKafkaUserAccessResult -&gt; getKafkaUserAccessResult.cert()));
     *     }
     * }
     * ```
     * 
     */
    public static CompletableFuture<GetKafkaUserAccessResult> getKafkaUserAccessPlain(GetKafkaUserAccessPlainArgs args, InvokeOptions options) {
        return Deployment.getInstance().invokeAsync("ovh:CloudProjectDatabase/getKafkaUserAccess:getKafkaUserAccess", TypeShape.of(GetKafkaUserAccessResult.class), args, Utilities.withVersion(options));
    }
    /**
     * Use this data source to get information about a user of a postgresql cluster associated with a public cloud project.
     * 
     * ## Example Usage
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.ovh.CloudProjectDatabase.CloudProjectDatabaseFunctions;
     * import com.pulumi.ovh.CloudProjectDatabase.inputs.GetPostgresSqlUserArgs;
     * 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 pguser = CloudProjectDatabaseFunctions.getPostgresSqlUser(GetPostgresSqlUserArgs.builder()
     *             .serviceName(&#34;XXX&#34;)
     *             .clusterId(&#34;YYY&#34;)
     *             .name(&#34;ZZZ&#34;)
     *             .build());
     * 
     *         ctx.export(&#34;pguserRoles&#34;, pguser.applyValue(getPostgresSqlUserResult -&gt; getPostgresSqlUserResult.roles()));
     *     }
     * }
     * ```
     * 
     */
    public static Output<GetPostgresSqlUserResult> getPostgresSqlUser(GetPostgresSqlUserArgs args) {
        return getPostgresSqlUser(args, InvokeOptions.Empty);
    }
    /**
     * Use this data source to get information about a user of a postgresql cluster associated with a public cloud project.
     * 
     * ## Example Usage
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.ovh.CloudProjectDatabase.CloudProjectDatabaseFunctions;
     * import com.pulumi.ovh.CloudProjectDatabase.inputs.GetPostgresSqlUserArgs;
     * 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 pguser = CloudProjectDatabaseFunctions.getPostgresSqlUser(GetPostgresSqlUserArgs.builder()
     *             .serviceName(&#34;XXX&#34;)
     *             .clusterId(&#34;YYY&#34;)
     *             .name(&#34;ZZZ&#34;)
     *             .build());
     * 
     *         ctx.export(&#34;pguserRoles&#34;, pguser.applyValue(getPostgresSqlUserResult -&gt; getPostgresSqlUserResult.roles()));
     *     }
     * }
     * ```
     * 
     */
    public static CompletableFuture<GetPostgresSqlUserResult> getPostgresSqlUserPlain(GetPostgresSqlUserPlainArgs args) {
        return getPostgresSqlUserPlain(args, InvokeOptions.Empty);
    }
    /**
     * Use this data source to get information about a user of a postgresql cluster associated with a public cloud project.
     * 
     * ## Example Usage
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.ovh.CloudProjectDatabase.CloudProjectDatabaseFunctions;
     * import com.pulumi.ovh.CloudProjectDatabase.inputs.GetPostgresSqlUserArgs;
     * 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 pguser = CloudProjectDatabaseFunctions.getPostgresSqlUser(GetPostgresSqlUserArgs.builder()
     *             .serviceName(&#34;XXX&#34;)
     *             .clusterId(&#34;YYY&#34;)
     *             .name(&#34;ZZZ&#34;)
     *             .build());
     * 
     *         ctx.export(&#34;pguserRoles&#34;, pguser.applyValue(getPostgresSqlUserResult -&gt; getPostgresSqlUserResult.roles()));
     *     }
     * }
     * ```
     * 
     */
    public static Output<GetPostgresSqlUserResult> getPostgresSqlUser(GetPostgresSqlUserArgs args, InvokeOptions options) {
        return Deployment.getInstance().invoke("ovh:CloudProjectDatabase/getPostgresSqlUser:getPostgresSqlUser", TypeShape.of(GetPostgresSqlUserResult.class), args, Utilities.withVersion(options));
    }
    /**
     * Use this data source to get information about a user of a postgresql cluster associated with a public cloud project.
     * 
     * ## Example Usage
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.ovh.CloudProjectDatabase.CloudProjectDatabaseFunctions;
     * import com.pulumi.ovh.CloudProjectDatabase.inputs.GetPostgresSqlUserArgs;
     * 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 pguser = CloudProjectDatabaseFunctions.getPostgresSqlUser(GetPostgresSqlUserArgs.builder()
     *             .serviceName(&#34;XXX&#34;)
     *             .clusterId(&#34;YYY&#34;)
     *             .name(&#34;ZZZ&#34;)
     *             .build());
     * 
     *         ctx.export(&#34;pguserRoles&#34;, pguser.applyValue(getPostgresSqlUserResult -&gt; getPostgresSqlUserResult.roles()));
     *     }
     * }
     * ```
     * 
     */
    public static CompletableFuture<GetPostgresSqlUserResult> getPostgresSqlUserPlain(GetPostgresSqlUserPlainArgs args, InvokeOptions options) {
        return Deployment.getInstance().invokeAsync("ovh:CloudProjectDatabase/getPostgresSqlUser:getPostgresSqlUser", TypeShape.of(GetPostgresSqlUserResult.class), args, Utilities.withVersion(options));
    }
    /**
     * Use this data source to get information about a user of a database cluster associated with a public cloud project.
     * 
     * ## Example Usage
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.ovh.CloudProjectDatabase.CloudProjectDatabaseFunctions;
     * import com.pulumi.ovh.CloudProjectDatabase.inputs.GetUserArgs;
     * 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 user = CloudProjectDatabaseFunctions.getUser(GetUserArgs.builder()
     *             .serviceName(&#34;XXX&#34;)
     *             .engine(&#34;YYY&#34;)
     *             .clusterId(&#34;ZZZ&#34;)
     *             .name(&#34;UUU&#34;)
     *             .build());
     * 
     *         ctx.export(&#34;userName&#34;, user.applyValue(getUserResult -&gt; getUserResult.name()));
     *     }
     * }
     * ```
     * 
     */
    public static Output<GetUserResult> getUser(GetUserArgs args) {
        return getUser(args, InvokeOptions.Empty);
    }
    /**
     * Use this data source to get information about a user of a database cluster associated with a public cloud project.
     * 
     * ## Example Usage
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.ovh.CloudProjectDatabase.CloudProjectDatabaseFunctions;
     * import com.pulumi.ovh.CloudProjectDatabase.inputs.GetUserArgs;
     * 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 user = CloudProjectDatabaseFunctions.getUser(GetUserArgs.builder()
     *             .serviceName(&#34;XXX&#34;)
     *             .engine(&#34;YYY&#34;)
     *             .clusterId(&#34;ZZZ&#34;)
     *             .name(&#34;UUU&#34;)
     *             .build());
     * 
     *         ctx.export(&#34;userName&#34;, user.applyValue(getUserResult -&gt; getUserResult.name()));
     *     }
     * }
     * ```
     * 
     */
    public static CompletableFuture<GetUserResult> getUserPlain(GetUserPlainArgs args) {
        return getUserPlain(args, InvokeOptions.Empty);
    }
    /**
     * Use this data source to get information about a user of a database cluster associated with a public cloud project.
     * 
     * ## Example Usage
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.ovh.CloudProjectDatabase.CloudProjectDatabaseFunctions;
     * import com.pulumi.ovh.CloudProjectDatabase.inputs.GetUserArgs;
     * 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 user = CloudProjectDatabaseFunctions.getUser(GetUserArgs.builder()
     *             .serviceName(&#34;XXX&#34;)
     *             .engine(&#34;YYY&#34;)
     *             .clusterId(&#34;ZZZ&#34;)
     *             .name(&#34;UUU&#34;)
     *             .build());
     * 
     *         ctx.export(&#34;userName&#34;, user.applyValue(getUserResult -&gt; getUserResult.name()));
     *     }
     * }
     * ```
     * 
     */
    public static Output<GetUserResult> getUser(GetUserArgs args, InvokeOptions options) {
        return Deployment.getInstance().invoke("ovh:CloudProjectDatabase/getUser:getUser", TypeShape.of(GetUserResult.class), args, Utilities.withVersion(options));
    }
    /**
     * Use this data source to get information about a user of a database cluster associated with a public cloud project.
     * 
     * ## Example Usage
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.ovh.CloudProjectDatabase.CloudProjectDatabaseFunctions;
     * import com.pulumi.ovh.CloudProjectDatabase.inputs.GetUserArgs;
     * 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 user = CloudProjectDatabaseFunctions.getUser(GetUserArgs.builder()
     *             .serviceName(&#34;XXX&#34;)
     *             .engine(&#34;YYY&#34;)
     *             .clusterId(&#34;ZZZ&#34;)
     *             .name(&#34;UUU&#34;)
     *             .build());
     * 
     *         ctx.export(&#34;userName&#34;, user.applyValue(getUserResult -&gt; getUserResult.name()));
     *     }
     * }
     * ```
     * 
     */
    public static CompletableFuture<GetUserResult> getUserPlain(GetUserPlainArgs args, InvokeOptions options) {
        return Deployment.getInstance().invokeAsync("ovh:CloudProjectDatabase/getUser:getUser", TypeShape.of(GetUserResult.class), args, Utilities.withVersion(options));
    }
    /**
     * Use this data source to get the list of users of a database cluster associated with a public cloud project.
     * 
     * ## Example Usage
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.ovh.CloudProjectDatabase.CloudProjectDatabaseFunctions;
     * import com.pulumi.ovh.CloudProjectDatabase.inputs.GetUsersArgs;
     * 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 users = CloudProjectDatabaseFunctions.getUsers(GetUsersArgs.builder()
     *             .serviceName(&#34;XXXX&#34;)
     *             .engine(&#34;YYYY&#34;)
     *             .clusterId(&#34;ZZZ&#34;)
     *             .build());
     * 
     *         ctx.export(&#34;userIds&#34;, users.applyValue(getUsersResult -&gt; getUsersResult.userIds()));
     *     }
     * }
     * ```
     * 
     */
    public static Output<GetUsersResult> getUsers(GetUsersArgs args) {
        return getUsers(args, InvokeOptions.Empty);
    }
    /**
     * Use this data source to get the list of users of a database cluster associated with a public cloud project.
     * 
     * ## Example Usage
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.ovh.CloudProjectDatabase.CloudProjectDatabaseFunctions;
     * import com.pulumi.ovh.CloudProjectDatabase.inputs.GetUsersArgs;
     * 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 users = CloudProjectDatabaseFunctions.getUsers(GetUsersArgs.builder()
     *             .serviceName(&#34;XXXX&#34;)
     *             .engine(&#34;YYYY&#34;)
     *             .clusterId(&#34;ZZZ&#34;)
     *             .build());
     * 
     *         ctx.export(&#34;userIds&#34;, users.applyValue(getUsersResult -&gt; getUsersResult.userIds()));
     *     }
     * }
     * ```
     * 
     */
    public static CompletableFuture<GetUsersResult> getUsersPlain(GetUsersPlainArgs args) {
        return getUsersPlain(args, InvokeOptions.Empty);
    }
    /**
     * Use this data source to get the list of users of a database cluster associated with a public cloud project.
     * 
     * ## Example Usage
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.ovh.CloudProjectDatabase.CloudProjectDatabaseFunctions;
     * import com.pulumi.ovh.CloudProjectDatabase.inputs.GetUsersArgs;
     * 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 users = CloudProjectDatabaseFunctions.getUsers(GetUsersArgs.builder()
     *             .serviceName(&#34;XXXX&#34;)
     *             .engine(&#34;YYYY&#34;)
     *             .clusterId(&#34;ZZZ&#34;)
     *             .build());
     * 
     *         ctx.export(&#34;userIds&#34;, users.applyValue(getUsersResult -&gt; getUsersResult.userIds()));
     *     }
     * }
     * ```
     * 
     */
    public static Output<GetUsersResult> getUsers(GetUsersArgs args, InvokeOptions options) {
        return Deployment.getInstance().invoke("ovh:CloudProjectDatabase/getUsers:getUsers", TypeShape.of(GetUsersResult.class), args, Utilities.withVersion(options));
    }
    /**
     * Use this data source to get the list of users of a database cluster associated with a public cloud project.
     * 
     * ## Example Usage
     * ```java
     * package generated_program;
     * 
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.ovh.CloudProjectDatabase.CloudProjectDatabaseFunctions;
     * import com.pulumi.ovh.CloudProjectDatabase.inputs.GetUsersArgs;
     * 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 users = CloudProjectDatabaseFunctions.getUsers(GetUsersArgs.builder()
     *             .serviceName(&#34;XXXX&#34;)
     *             .engine(&#34;YYYY&#34;)
     *             .clusterId(&#34;ZZZ&#34;)
     *             .build());
     * 
     *         ctx.export(&#34;userIds&#34;, users.applyValue(getUsersResult -&gt; getUsersResult.userIds()));
     *     }
     * }
     * ```
     * 
     */
    public static CompletableFuture<GetUsersResult> getUsersPlain(GetUsersPlainArgs args, InvokeOptions options) {
        return Deployment.getInstance().invokeAsync("ovh:CloudProjectDatabase/getUsers:getUsers", TypeShape.of(GetUsersResult.class), args, Utilities.withVersion(options));
    }
}
