messageMaxBytes) {
+ $.messageMaxBytes = messageMaxBytes;
+ return this;
+ }
+
+ /**
+ * @param messageMaxBytes The maximum size of message that the server can receive.
+ *
+ * @return builder
+ *
+ */
+ public Builder messageMaxBytes(Integer messageMaxBytes) {
+ return messageMaxBytes(Output.of(messageMaxBytes));
+ }
+
+ public DatabaseKafkaConfigArgs build() {
+ if ($.clusterId == null) {
+ throw new MissingRequiredPropertyException("DatabaseKafkaConfigArgs", "clusterId");
+ }
+ return $;
+ }
+ }
+
+}
diff --git a/sdk/java/src/main/java/com/pulumi/digitalocean/DatabaseMongodbConfig.java b/sdk/java/src/main/java/com/pulumi/digitalocean/DatabaseMongodbConfig.java
new file mode 100644
index 00000000..79eb024c
--- /dev/null
+++ b/sdk/java/src/main/java/com/pulumi/digitalocean/DatabaseMongodbConfig.java
@@ -0,0 +1,225 @@
+// *** 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.digitalocean;
+
+import com.pulumi.core.Output;
+import com.pulumi.core.annotations.Export;
+import com.pulumi.core.annotations.ResourceType;
+import com.pulumi.core.internal.Codegen;
+import com.pulumi.digitalocean.DatabaseMongodbConfigArgs;
+import com.pulumi.digitalocean.Utilities;
+import com.pulumi.digitalocean.inputs.DatabaseMongodbConfigState;
+import java.lang.Integer;
+import java.lang.String;
+import javax.annotation.Nullable;
+
+/**
+ * Provides a virtual resource that can be used to change advanced configuration
+ * options for a DigitalOcean managed MongoDB database cluster.
+ *
+ * > **Note** MongoDB configurations are only removed from state when destroyed. The remote configuration is not unset.
+ *
+ * ## Example Usage
+ *
+ * <!--Start PulumiCodeChooser -->
+ *
+ * {@code
+ * package generated_program;
+ *
+ * import com.pulumi.Context;
+ * import com.pulumi.Pulumi;
+ * import com.pulumi.core.Output;
+ * import com.pulumi.digitalocean.DatabaseCluster;
+ * import com.pulumi.digitalocean.DatabaseClusterArgs;
+ * import com.pulumi.digitalocean.DatabaseMongodbConfig;
+ * import com.pulumi.digitalocean.DatabaseMongodbConfigArgs;
+ * 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) {
+ * var exampleDatabaseCluster = new DatabaseCluster("exampleDatabaseCluster", DatabaseClusterArgs.builder()
+ * .name("example-mongodb-cluster")
+ * .engine("mongodb")
+ * .version("7")
+ * .size("db-s-1vcpu-1gb")
+ * .region("nyc3")
+ * .nodeCount(1)
+ * .build());
+ *
+ * var example = new DatabaseMongodbConfig("example", DatabaseMongodbConfigArgs.builder()
+ * .clusterId(exampleDatabaseCluster.id())
+ * .defaultReadConcern("majority")
+ * .defaultWriteConcern("majority")
+ * .transactionLifetimeLimitSeconds(100)
+ * .slowOpThresholdMs(100)
+ * .verbosity(3)
+ * .build());
+ *
+ * }
+ * }
+ * }
+ *
+ * <!--End PulumiCodeChooser -->
+ *
+ * ## Import
+ *
+ * A MongoDB database cluster's configuration can be imported using the `id` the parent cluster, e.g.
+ *
+ * ```sh
+ * $ pulumi import digitalocean:index/databaseMongodbConfig:DatabaseMongodbConfig example 4b62829a-9c42-465b-aaa3-84051048e712
+ * ```
+ *
+ */
+@ResourceType(type="digitalocean:index/databaseMongodbConfig:DatabaseMongodbConfig")
+public class DatabaseMongodbConfig extends com.pulumi.resources.CustomResource {
+ /**
+ * The ID of the target MongoDB cluster.
+ *
+ */
+ @Export(name="clusterId", refs={String.class}, tree="[0]")
+ private Output clusterId;
+
+ /**
+ * @return The ID of the target MongoDB cluster.
+ *
+ */
+ public Output clusterId() {
+ return this.clusterId;
+ }
+ /**
+ * Specifies the default consistency behavior of reads from the database. Data that is returned from the query with may or may not have been acknowledged by all nodes in the replicaset depending on this value. Learn more [here](https://www.mongodb.com/docs/manual/reference/read-concern/).
+ *
+ */
+ @Export(name="defaultReadConcern", refs={String.class}, tree="[0]")
+ private Output defaultReadConcern;
+
+ /**
+ * @return Specifies the default consistency behavior of reads from the database. Data that is returned from the query with may or may not have been acknowledged by all nodes in the replicaset depending on this value. Learn more [here](https://www.mongodb.com/docs/manual/reference/read-concern/).
+ *
+ */
+ public Output defaultReadConcern() {
+ return this.defaultReadConcern;
+ }
+ /**
+ * Describes the level of acknowledgment requested from MongoDB for write operations clusters. This field can set to either `majority` or a number`0...n` which will describe the number of nodes that must acknowledge the write operation before it is fully accepted. Setting to `0` will request no acknowledgement of the write operation. Learn more [here](https://www.mongodb.com/docs/manual/reference/write-concern/).
+ *
+ */
+ @Export(name="defaultWriteConcern", refs={String.class}, tree="[0]")
+ private Output defaultWriteConcern;
+
+ /**
+ * @return Describes the level of acknowledgment requested from MongoDB for write operations clusters. This field can set to either `majority` or a number`0...n` which will describe the number of nodes that must acknowledge the write operation before it is fully accepted. Setting to `0` will request no acknowledgement of the write operation. Learn more [here](https://www.mongodb.com/docs/manual/reference/write-concern/).
+ *
+ */
+ public Output defaultWriteConcern() {
+ return this.defaultWriteConcern;
+ }
+ /**
+ * Operations that run for longer than this threshold are considered slow which are then recorded to the diagnostic logs. Higher log levels (verbosity) will record all operations regardless of this threshold on the primary node. <em>Changing this parameter will lead to a restart of the MongoDB service.</em> Learn more [here](https://www.mongodb.com/docs/manual/reference/configuration-options/#mongodb-setting-operationProfiling.slowOpThresholdMs).
+ *
+ */
+ @Export(name="slowOpThresholdMs", refs={Integer.class}, tree="[0]")
+ private Output slowOpThresholdMs;
+
+ /**
+ * @return Operations that run for longer than this threshold are considered slow which are then recorded to the diagnostic logs. Higher log levels (verbosity) will record all operations regardless of this threshold on the primary node. <em>Changing this parameter will lead to a restart of the MongoDB service.</em> Learn more [here](https://www.mongodb.com/docs/manual/reference/configuration-options/#mongodb-setting-operationProfiling.slowOpThresholdMs).
+ *
+ */
+ public Output slowOpThresholdMs() {
+ return this.slowOpThresholdMs;
+ }
+ /**
+ * Specifies the lifetime of multi-document transactions. Transactions that exceed this limit are considered expired and will be aborted by a periodic cleanup process. The cleanup process runs every `transactionLifetimeLimitSeconds/2 seconds` or at least once every 60 seconds. <em>Changing this parameter will lead to a restart of the MongoDB service.</em> Learn more [here](https://www.mongodb.com/docs/manual/reference/parameters/#mongodb-parameter-param.transactionLifetimeLimitSeconds).
+ *
+ */
+ @Export(name="transactionLifetimeLimitSeconds", refs={Integer.class}, tree="[0]")
+ private Output transactionLifetimeLimitSeconds;
+
+ /**
+ * @return Specifies the lifetime of multi-document transactions. Transactions that exceed this limit are considered expired and will be aborted by a periodic cleanup process. The cleanup process runs every `transactionLifetimeLimitSeconds/2 seconds` or at least once every 60 seconds. <em>Changing this parameter will lead to a restart of the MongoDB service.</em> Learn more [here](https://www.mongodb.com/docs/manual/reference/parameters/#mongodb-parameter-param.transactionLifetimeLimitSeconds).
+ *
+ */
+ public Output transactionLifetimeLimitSeconds() {
+ return this.transactionLifetimeLimitSeconds;
+ }
+ /**
+ * The log message verbosity level. The verbosity level determines the amount of Informational and Debug messages MongoDB outputs. 0 includes informational messages while 1...5 increases the level to include debug messages. <em>Changing this parameter will lead to a restart of the MongoDB service.</em> Learn more [here](https://www.mongodb.com/docs/manual/reference/configuration-options/#mongodb-setting-systemLog.verbosity).
+ *
+ */
+ @Export(name="verbosity", refs={Integer.class}, tree="[0]")
+ private Output verbosity;
+
+ /**
+ * @return The log message verbosity level. The verbosity level determines the amount of Informational and Debug messages MongoDB outputs. 0 includes informational messages while 1...5 increases the level to include debug messages. <em>Changing this parameter will lead to a restart of the MongoDB service.</em> Learn more [here](https://www.mongodb.com/docs/manual/reference/configuration-options/#mongodb-setting-systemLog.verbosity).
+ *
+ */
+ public Output verbosity() {
+ return this.verbosity;
+ }
+
+ /**
+ *
+ * @param name The _unique_ name of the resulting resource.
+ */
+ public DatabaseMongodbConfig(java.lang.String name) {
+ this(name, DatabaseMongodbConfigArgs.Empty);
+ }
+ /**
+ *
+ * @param name The _unique_ name of the resulting resource.
+ * @param args The arguments to use to populate this resource's properties.
+ */
+ public DatabaseMongodbConfig(java.lang.String name, DatabaseMongodbConfigArgs args) {
+ this(name, args, null);
+ }
+ /**
+ *
+ * @param name The _unique_ name of the resulting resource.
+ * @param args The arguments to use to populate this resource's properties.
+ * @param options A bag of options that control this resource's behavior.
+ */
+ public DatabaseMongodbConfig(java.lang.String name, DatabaseMongodbConfigArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) {
+ super("digitalocean:index/databaseMongodbConfig:DatabaseMongodbConfig", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false);
+ }
+
+ private DatabaseMongodbConfig(java.lang.String name, Output id, @Nullable DatabaseMongodbConfigState state, @Nullable com.pulumi.resources.CustomResourceOptions options) {
+ super("digitalocean:index/databaseMongodbConfig:DatabaseMongodbConfig", name, state, makeResourceOptions(options, id), false);
+ }
+
+ private static DatabaseMongodbConfigArgs makeArgs(DatabaseMongodbConfigArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) {
+ if (options != null && options.getUrn().isPresent()) {
+ return null;
+ }
+ return args == null ? DatabaseMongodbConfigArgs.Empty : args;
+ }
+
+ private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) {
+ var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder()
+ .version(Utilities.getVersion())
+ .build();
+ return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id);
+ }
+
+ /**
+ * Get an existing Host resource's state with the given name, ID, and optional extra
+ * properties used to qualify the lookup.
+ *
+ * @param name The _unique_ name of the resulting resource.
+ * @param id The _unique_ provider ID of the resource to lookup.
+ * @param state
+ * @param options Optional settings to control the behavior of the CustomResource.
+ */
+ public static DatabaseMongodbConfig get(java.lang.String name, Output id, @Nullable DatabaseMongodbConfigState state, @Nullable com.pulumi.resources.CustomResourceOptions options) {
+ return new DatabaseMongodbConfig(name, id, state, options);
+ }
+}
diff --git a/sdk/java/src/main/java/com/pulumi/digitalocean/DatabaseMongodbConfigArgs.java b/sdk/java/src/main/java/com/pulumi/digitalocean/DatabaseMongodbConfigArgs.java
new file mode 100644
index 00000000..5ca9cb4b
--- /dev/null
+++ b/sdk/java/src/main/java/com/pulumi/digitalocean/DatabaseMongodbConfigArgs.java
@@ -0,0 +1,273 @@
+// *** 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.digitalocean;
+
+import com.pulumi.core.Output;
+import com.pulumi.core.annotations.Import;
+import com.pulumi.exceptions.MissingRequiredPropertyException;
+import java.lang.Integer;
+import java.lang.String;
+import java.util.Objects;
+import java.util.Optional;
+import javax.annotation.Nullable;
+
+
+public final class DatabaseMongodbConfigArgs extends com.pulumi.resources.ResourceArgs {
+
+ public static final DatabaseMongodbConfigArgs Empty = new DatabaseMongodbConfigArgs();
+
+ /**
+ * The ID of the target MongoDB cluster.
+ *
+ */
+ @Import(name="clusterId", required=true)
+ private Output clusterId;
+
+ /**
+ * @return The ID of the target MongoDB cluster.
+ *
+ */
+ public Output clusterId() {
+ return this.clusterId;
+ }
+
+ /**
+ * Specifies the default consistency behavior of reads from the database. Data that is returned from the query with may or may not have been acknowledged by all nodes in the replicaset depending on this value. Learn more [here](https://www.mongodb.com/docs/manual/reference/read-concern/).
+ *
+ */
+ @Import(name="defaultReadConcern")
+ private @Nullable Output defaultReadConcern;
+
+ /**
+ * @return Specifies the default consistency behavior of reads from the database. Data that is returned from the query with may or may not have been acknowledged by all nodes in the replicaset depending on this value. Learn more [here](https://www.mongodb.com/docs/manual/reference/read-concern/).
+ *
+ */
+ public Optional