All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.azurenative.datamigration.outputs.MongoDbMigrationSettingsResponse Maven / Gradle / Ivy

The newest version!
// *** 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.azurenative.datamigration.outputs;

import com.pulumi.azurenative.datamigration.outputs.MongoDbConnectionInfoResponse;
import com.pulumi.azurenative.datamigration.outputs.MongoDbDatabaseSettingsResponse;
import com.pulumi.azurenative.datamigration.outputs.MongoDbThrottlingSettingsResponse;
import com.pulumi.core.annotations.CustomType;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Integer;
import java.lang.String;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;

@CustomType
public final class MongoDbMigrationSettingsResponse {
    /**
     * @return The RU limit on a CosmosDB target that collections will be temporarily increased to (if lower) during the initial copy of a migration, from 10,000 to 1,000,000, or 0 to use the default boost (which is generally the maximum), or null to not boost the RUs. This setting has no effect on non-CosmosDB targets.
     * 
     */
    private @Nullable Integer boostRUs;
    /**
     * @return The databases on the source cluster to migrate to the target. The keys are the names of the databases.
     * 
     */
    private Map databases;
    /**
     * @return Describes how changes will be replicated from the source to the target. The default is OneTime.
     * 
     */
    private @Nullable String replication;
    /**
     * @return Settings used to connect to the source cluster
     * 
     */
    private MongoDbConnectionInfoResponse source;
    /**
     * @return Settings used to connect to the target cluster
     * 
     */
    private MongoDbConnectionInfoResponse target;
    /**
     * @return Settings used to limit the resource usage of the migration
     * 
     */
    private @Nullable MongoDbThrottlingSettingsResponse throttling;

    private MongoDbMigrationSettingsResponse() {}
    /**
     * @return The RU limit on a CosmosDB target that collections will be temporarily increased to (if lower) during the initial copy of a migration, from 10,000 to 1,000,000, or 0 to use the default boost (which is generally the maximum), or null to not boost the RUs. This setting has no effect on non-CosmosDB targets.
     * 
     */
    public Optional boostRUs() {
        return Optional.ofNullable(this.boostRUs);
    }
    /**
     * @return The databases on the source cluster to migrate to the target. The keys are the names of the databases.
     * 
     */
    public Map databases() {
        return this.databases;
    }
    /**
     * @return Describes how changes will be replicated from the source to the target. The default is OneTime.
     * 
     */
    public Optional replication() {
        return Optional.ofNullable(this.replication);
    }
    /**
     * @return Settings used to connect to the source cluster
     * 
     */
    public MongoDbConnectionInfoResponse source() {
        return this.source;
    }
    /**
     * @return Settings used to connect to the target cluster
     * 
     */
    public MongoDbConnectionInfoResponse target() {
        return this.target;
    }
    /**
     * @return Settings used to limit the resource usage of the migration
     * 
     */
    public Optional throttling() {
        return Optional.ofNullable(this.throttling);
    }

    public static Builder builder() {
        return new Builder();
    }

    public static Builder builder(MongoDbMigrationSettingsResponse defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private @Nullable Integer boostRUs;
        private Map databases;
        private @Nullable String replication;
        private MongoDbConnectionInfoResponse source;
        private MongoDbConnectionInfoResponse target;
        private @Nullable MongoDbThrottlingSettingsResponse throttling;
        public Builder() {}
        public Builder(MongoDbMigrationSettingsResponse defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.boostRUs = defaults.boostRUs;
    	      this.databases = defaults.databases;
    	      this.replication = defaults.replication;
    	      this.source = defaults.source;
    	      this.target = defaults.target;
    	      this.throttling = defaults.throttling;
        }

        @CustomType.Setter
        public Builder boostRUs(@Nullable Integer boostRUs) {

            this.boostRUs = boostRUs;
            return this;
        }
        @CustomType.Setter
        public Builder databases(Map databases) {
            if (databases == null) {
              throw new MissingRequiredPropertyException("MongoDbMigrationSettingsResponse", "databases");
            }
            this.databases = databases;
            return this;
        }
        @CustomType.Setter
        public Builder replication(@Nullable String replication) {

            this.replication = replication;
            return this;
        }
        @CustomType.Setter
        public Builder source(MongoDbConnectionInfoResponse source) {
            if (source == null) {
              throw new MissingRequiredPropertyException("MongoDbMigrationSettingsResponse", "source");
            }
            this.source = source;
            return this;
        }
        @CustomType.Setter
        public Builder target(MongoDbConnectionInfoResponse target) {
            if (target == null) {
              throw new MissingRequiredPropertyException("MongoDbMigrationSettingsResponse", "target");
            }
            this.target = target;
            return this;
        }
        @CustomType.Setter
        public Builder throttling(@Nullable MongoDbThrottlingSettingsResponse throttling) {

            this.throttling = throttling;
            return this;
        }
        public MongoDbMigrationSettingsResponse build() {
            final var _resultValue = new MongoDbMigrationSettingsResponse();
            _resultValue.boostRUs = boostRUs;
            _resultValue.databases = databases;
            _resultValue.replication = replication;
            _resultValue.source = source;
            _resultValue.target = target;
            _resultValue.throttling = throttling;
            return _resultValue;
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy