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

com.pulumi.azurenative.dbforpostgresql.ClusterArgs Maven / Gradle / Ivy

There is a newer version: 2.78.0
Show 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.dbforpostgresql;

import com.pulumi.azurenative.dbforpostgresql.inputs.MaintenanceWindowArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.Integer;
import java.lang.String;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


public final class ClusterArgs extends com.pulumi.resources.ResourceArgs {

    public static final ClusterArgs Empty = new ClusterArgs();

    /**
     * The password of the administrator login. Required for creation.
     * 
     */
    @Import(name="administratorLoginPassword")
    private @Nullable Output administratorLoginPassword;

    /**
     * @return The password of the administrator login. Required for creation.
     * 
     */
    public Optional> administratorLoginPassword() {
        return Optional.ofNullable(this.administratorLoginPassword);
    }

    /**
     * The Citus extension version on all cluster servers.
     * 
     */
    @Import(name="citusVersion")
    private @Nullable Output citusVersion;

    /**
     * @return The Citus extension version on all cluster servers.
     * 
     */
    public Optional> citusVersion() {
        return Optional.ofNullable(this.citusVersion);
    }

    /**
     * The name of the cluster.
     * 
     */
    @Import(name="clusterName")
    private @Nullable Output clusterName;

    /**
     * @return The name of the cluster.
     * 
     */
    public Optional> clusterName() {
        return Optional.ofNullable(this.clusterName);
    }

    /**
     * If public access is enabled on coordinator.
     * 
     */
    @Import(name="coordinatorEnablePublicIpAccess")
    private @Nullable Output coordinatorEnablePublicIpAccess;

    /**
     * @return If public access is enabled on coordinator.
     * 
     */
    public Optional> coordinatorEnablePublicIpAccess() {
        return Optional.ofNullable(this.coordinatorEnablePublicIpAccess);
    }

    /**
     * The edition of a coordinator server (default: GeneralPurpose). Required for creation.
     * 
     */
    @Import(name="coordinatorServerEdition")
    private @Nullable Output coordinatorServerEdition;

    /**
     * @return The edition of a coordinator server (default: GeneralPurpose). Required for creation.
     * 
     */
    public Optional> coordinatorServerEdition() {
        return Optional.ofNullable(this.coordinatorServerEdition);
    }

    /**
     * The storage of a server in MB. Required for creation. See https://learn.microsoft.com/azure/cosmos-db/postgresql/resources-compute for more information.
     * 
     */
    @Import(name="coordinatorStorageQuotaInMb")
    private @Nullable Output coordinatorStorageQuotaInMb;

    /**
     * @return The storage of a server in MB. Required for creation. See https://learn.microsoft.com/azure/cosmos-db/postgresql/resources-compute for more information.
     * 
     */
    public Optional> coordinatorStorageQuotaInMb() {
        return Optional.ofNullable(this.coordinatorStorageQuotaInMb);
    }

    /**
     * The vCores count of a server (max: 96). Required for creation. See https://learn.microsoft.com/azure/cosmos-db/postgresql/resources-compute for more information.
     * 
     */
    @Import(name="coordinatorVCores")
    private @Nullable Output coordinatorVCores;

    /**
     * @return The vCores count of a server (max: 96). Required for creation. See https://learn.microsoft.com/azure/cosmos-db/postgresql/resources-compute for more information.
     * 
     */
    public Optional> coordinatorVCores() {
        return Optional.ofNullable(this.coordinatorVCores);
    }

    /**
     * If high availability (HA) is enabled or not for the cluster.
     * 
     */
    @Import(name="enableHa")
    private @Nullable Output enableHa;

    /**
     * @return If high availability (HA) is enabled or not for the cluster.
     * 
     */
    public Optional> enableHa() {
        return Optional.ofNullable(this.enableHa);
    }

    /**
     * If distributed tables are placed on coordinator or not. Should be set to 'true' on single node clusters. Requires shard rebalancing after value is changed.
     * 
     */
    @Import(name="enableShardsOnCoordinator")
    private @Nullable Output enableShardsOnCoordinator;

    /**
     * @return If distributed tables are placed on coordinator or not. Should be set to 'true' on single node clusters. Requires shard rebalancing after value is changed.
     * 
     */
    public Optional> enableShardsOnCoordinator() {
        return Optional.ofNullable(this.enableShardsOnCoordinator);
    }

    /**
     * The geo-location where the resource lives
     * 
     */
    @Import(name="location")
    private @Nullable Output location;

    /**
     * @return The geo-location where the resource lives
     * 
     */
    public Optional> location() {
        return Optional.ofNullable(this.location);
    }

    /**
     * Maintenance window of a cluster.
     * 
     */
    @Import(name="maintenanceWindow")
    private @Nullable Output maintenanceWindow;

    /**
     * @return Maintenance window of a cluster.
     * 
     */
    public Optional> maintenanceWindow() {
        return Optional.ofNullable(this.maintenanceWindow);
    }

    /**
     * Worker node count of the cluster. When node count is 0, it represents a single node configuration with the ability to create distributed tables on that node. 2 or more worker nodes represent multi-node configuration. Node count value cannot be 1. Required for creation.
     * 
     */
    @Import(name="nodeCount")
    private @Nullable Output nodeCount;

    /**
     * @return Worker node count of the cluster. When node count is 0, it represents a single node configuration with the ability to create distributed tables on that node. 2 or more worker nodes represent multi-node configuration. Node count value cannot be 1. Required for creation.
     * 
     */
    public Optional> nodeCount() {
        return Optional.ofNullable(this.nodeCount);
    }

    /**
     * If public access is enabled on worker nodes.
     * 
     */
    @Import(name="nodeEnablePublicIpAccess")
    private @Nullable Output nodeEnablePublicIpAccess;

    /**
     * @return If public access is enabled on worker nodes.
     * 
     */
    public Optional> nodeEnablePublicIpAccess() {
        return Optional.ofNullable(this.nodeEnablePublicIpAccess);
    }

    /**
     * The edition of a node server (default: MemoryOptimized).
     * 
     */
    @Import(name="nodeServerEdition")
    private @Nullable Output nodeServerEdition;

    /**
     * @return The edition of a node server (default: MemoryOptimized).
     * 
     */
    public Optional> nodeServerEdition() {
        return Optional.ofNullable(this.nodeServerEdition);
    }

    /**
     * The storage in MB on each worker node. See https://learn.microsoft.com/azure/cosmos-db/postgresql/resources-compute for more information.
     * 
     */
    @Import(name="nodeStorageQuotaInMb")
    private @Nullable Output nodeStorageQuotaInMb;

    /**
     * @return The storage in MB on each worker node. See https://learn.microsoft.com/azure/cosmos-db/postgresql/resources-compute for more information.
     * 
     */
    public Optional> nodeStorageQuotaInMb() {
        return Optional.ofNullable(this.nodeStorageQuotaInMb);
    }

    /**
     * The compute in vCores on each worker node (max: 104). See https://learn.microsoft.com/azure/cosmos-db/postgresql/resources-compute for more information.
     * 
     */
    @Import(name="nodeVCores")
    private @Nullable Output nodeVCores;

    /**
     * @return The compute in vCores on each worker node (max: 104). See https://learn.microsoft.com/azure/cosmos-db/postgresql/resources-compute for more information.
     * 
     */
    public Optional> nodeVCores() {
        return Optional.ofNullable(this.nodeVCores);
    }

    /**
     * Date and time in UTC (ISO8601 format) for cluster restore.
     * 
     */
    @Import(name="pointInTimeUTC")
    private @Nullable Output pointInTimeUTC;

    /**
     * @return Date and time in UTC (ISO8601 format) for cluster restore.
     * 
     */
    public Optional> pointInTimeUTC() {
        return Optional.ofNullable(this.pointInTimeUTC);
    }

    /**
     * The major PostgreSQL version on all cluster servers.
     * 
     */
    @Import(name="postgresqlVersion")
    private @Nullable Output postgresqlVersion;

    /**
     * @return The major PostgreSQL version on all cluster servers.
     * 
     */
    public Optional> postgresqlVersion() {
        return Optional.ofNullable(this.postgresqlVersion);
    }

    /**
     * Preferred primary availability zone (AZ) for all cluster servers.
     * 
     */
    @Import(name="preferredPrimaryZone")
    private @Nullable Output preferredPrimaryZone;

    /**
     * @return Preferred primary availability zone (AZ) for all cluster servers.
     * 
     */
    public Optional> preferredPrimaryZone() {
        return Optional.ofNullable(this.preferredPrimaryZone);
    }

    /**
     * The name of the resource group. The name is case insensitive.
     * 
     */
    @Import(name="resourceGroupName", required=true)
    private Output resourceGroupName;

    /**
     * @return The name of the resource group. The name is case insensitive.
     * 
     */
    public Output resourceGroupName() {
        return this.resourceGroupName;
    }

    /**
     * The Azure region of source cluster for read replica clusters.
     * 
     */
    @Import(name="sourceLocation")
    private @Nullable Output sourceLocation;

    /**
     * @return The Azure region of source cluster for read replica clusters.
     * 
     */
    public Optional> sourceLocation() {
        return Optional.ofNullable(this.sourceLocation);
    }

    /**
     * The resource id of source cluster for read replica clusters.
     * 
     */
    @Import(name="sourceResourceId")
    private @Nullable Output sourceResourceId;

    /**
     * @return The resource id of source cluster for read replica clusters.
     * 
     */
    public Optional> sourceResourceId() {
        return Optional.ofNullable(this.sourceResourceId);
    }

    /**
     * Resource tags.
     * 
     */
    @Import(name="tags")
    private @Nullable Output> tags;

    /**
     * @return Resource tags.
     * 
     */
    public Optional>> tags() {
        return Optional.ofNullable(this.tags);
    }

    private ClusterArgs() {}

    private ClusterArgs(ClusterArgs $) {
        this.administratorLoginPassword = $.administratorLoginPassword;
        this.citusVersion = $.citusVersion;
        this.clusterName = $.clusterName;
        this.coordinatorEnablePublicIpAccess = $.coordinatorEnablePublicIpAccess;
        this.coordinatorServerEdition = $.coordinatorServerEdition;
        this.coordinatorStorageQuotaInMb = $.coordinatorStorageQuotaInMb;
        this.coordinatorVCores = $.coordinatorVCores;
        this.enableHa = $.enableHa;
        this.enableShardsOnCoordinator = $.enableShardsOnCoordinator;
        this.location = $.location;
        this.maintenanceWindow = $.maintenanceWindow;
        this.nodeCount = $.nodeCount;
        this.nodeEnablePublicIpAccess = $.nodeEnablePublicIpAccess;
        this.nodeServerEdition = $.nodeServerEdition;
        this.nodeStorageQuotaInMb = $.nodeStorageQuotaInMb;
        this.nodeVCores = $.nodeVCores;
        this.pointInTimeUTC = $.pointInTimeUTC;
        this.postgresqlVersion = $.postgresqlVersion;
        this.preferredPrimaryZone = $.preferredPrimaryZone;
        this.resourceGroupName = $.resourceGroupName;
        this.sourceLocation = $.sourceLocation;
        this.sourceResourceId = $.sourceResourceId;
        this.tags = $.tags;
    }

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

    public static final class Builder {
        private ClusterArgs $;

        public Builder() {
            $ = new ClusterArgs();
        }

        public Builder(ClusterArgs defaults) {
            $ = new ClusterArgs(Objects.requireNonNull(defaults));
        }

        /**
         * @param administratorLoginPassword The password of the administrator login. Required for creation.
         * 
         * @return builder
         * 
         */
        public Builder administratorLoginPassword(@Nullable Output administratorLoginPassword) {
            $.administratorLoginPassword = administratorLoginPassword;
            return this;
        }

        /**
         * @param administratorLoginPassword The password of the administrator login. Required for creation.
         * 
         * @return builder
         * 
         */
        public Builder administratorLoginPassword(String administratorLoginPassword) {
            return administratorLoginPassword(Output.of(administratorLoginPassword));
        }

        /**
         * @param citusVersion The Citus extension version on all cluster servers.
         * 
         * @return builder
         * 
         */
        public Builder citusVersion(@Nullable Output citusVersion) {
            $.citusVersion = citusVersion;
            return this;
        }

        /**
         * @param citusVersion The Citus extension version on all cluster servers.
         * 
         * @return builder
         * 
         */
        public Builder citusVersion(String citusVersion) {
            return citusVersion(Output.of(citusVersion));
        }

        /**
         * @param clusterName The name of the cluster.
         * 
         * @return builder
         * 
         */
        public Builder clusterName(@Nullable Output clusterName) {
            $.clusterName = clusterName;
            return this;
        }

        /**
         * @param clusterName The name of the cluster.
         * 
         * @return builder
         * 
         */
        public Builder clusterName(String clusterName) {
            return clusterName(Output.of(clusterName));
        }

        /**
         * @param coordinatorEnablePublicIpAccess If public access is enabled on coordinator.
         * 
         * @return builder
         * 
         */
        public Builder coordinatorEnablePublicIpAccess(@Nullable Output coordinatorEnablePublicIpAccess) {
            $.coordinatorEnablePublicIpAccess = coordinatorEnablePublicIpAccess;
            return this;
        }

        /**
         * @param coordinatorEnablePublicIpAccess If public access is enabled on coordinator.
         * 
         * @return builder
         * 
         */
        public Builder coordinatorEnablePublicIpAccess(Boolean coordinatorEnablePublicIpAccess) {
            return coordinatorEnablePublicIpAccess(Output.of(coordinatorEnablePublicIpAccess));
        }

        /**
         * @param coordinatorServerEdition The edition of a coordinator server (default: GeneralPurpose). Required for creation.
         * 
         * @return builder
         * 
         */
        public Builder coordinatorServerEdition(@Nullable Output coordinatorServerEdition) {
            $.coordinatorServerEdition = coordinatorServerEdition;
            return this;
        }

        /**
         * @param coordinatorServerEdition The edition of a coordinator server (default: GeneralPurpose). Required for creation.
         * 
         * @return builder
         * 
         */
        public Builder coordinatorServerEdition(String coordinatorServerEdition) {
            return coordinatorServerEdition(Output.of(coordinatorServerEdition));
        }

        /**
         * @param coordinatorStorageQuotaInMb The storage of a server in MB. Required for creation. See https://learn.microsoft.com/azure/cosmos-db/postgresql/resources-compute for more information.
         * 
         * @return builder
         * 
         */
        public Builder coordinatorStorageQuotaInMb(@Nullable Output coordinatorStorageQuotaInMb) {
            $.coordinatorStorageQuotaInMb = coordinatorStorageQuotaInMb;
            return this;
        }

        /**
         * @param coordinatorStorageQuotaInMb The storage of a server in MB. Required for creation. See https://learn.microsoft.com/azure/cosmos-db/postgresql/resources-compute for more information.
         * 
         * @return builder
         * 
         */
        public Builder coordinatorStorageQuotaInMb(Integer coordinatorStorageQuotaInMb) {
            return coordinatorStorageQuotaInMb(Output.of(coordinatorStorageQuotaInMb));
        }

        /**
         * @param coordinatorVCores The vCores count of a server (max: 96). Required for creation. See https://learn.microsoft.com/azure/cosmos-db/postgresql/resources-compute for more information.
         * 
         * @return builder
         * 
         */
        public Builder coordinatorVCores(@Nullable Output coordinatorVCores) {
            $.coordinatorVCores = coordinatorVCores;
            return this;
        }

        /**
         * @param coordinatorVCores The vCores count of a server (max: 96). Required for creation. See https://learn.microsoft.com/azure/cosmos-db/postgresql/resources-compute for more information.
         * 
         * @return builder
         * 
         */
        public Builder coordinatorVCores(Integer coordinatorVCores) {
            return coordinatorVCores(Output.of(coordinatorVCores));
        }

        /**
         * @param enableHa If high availability (HA) is enabled or not for the cluster.
         * 
         * @return builder
         * 
         */
        public Builder enableHa(@Nullable Output enableHa) {
            $.enableHa = enableHa;
            return this;
        }

        /**
         * @param enableHa If high availability (HA) is enabled or not for the cluster.
         * 
         * @return builder
         * 
         */
        public Builder enableHa(Boolean enableHa) {
            return enableHa(Output.of(enableHa));
        }

        /**
         * @param enableShardsOnCoordinator If distributed tables are placed on coordinator or not. Should be set to 'true' on single node clusters. Requires shard rebalancing after value is changed.
         * 
         * @return builder
         * 
         */
        public Builder enableShardsOnCoordinator(@Nullable Output enableShardsOnCoordinator) {
            $.enableShardsOnCoordinator = enableShardsOnCoordinator;
            return this;
        }

        /**
         * @param enableShardsOnCoordinator If distributed tables are placed on coordinator or not. Should be set to 'true' on single node clusters. Requires shard rebalancing after value is changed.
         * 
         * @return builder
         * 
         */
        public Builder enableShardsOnCoordinator(Boolean enableShardsOnCoordinator) {
            return enableShardsOnCoordinator(Output.of(enableShardsOnCoordinator));
        }

        /**
         * @param location The geo-location where the resource lives
         * 
         * @return builder
         * 
         */
        public Builder location(@Nullable Output location) {
            $.location = location;
            return this;
        }

        /**
         * @param location The geo-location where the resource lives
         * 
         * @return builder
         * 
         */
        public Builder location(String location) {
            return location(Output.of(location));
        }

        /**
         * @param maintenanceWindow Maintenance window of a cluster.
         * 
         * @return builder
         * 
         */
        public Builder maintenanceWindow(@Nullable Output maintenanceWindow) {
            $.maintenanceWindow = maintenanceWindow;
            return this;
        }

        /**
         * @param maintenanceWindow Maintenance window of a cluster.
         * 
         * @return builder
         * 
         */
        public Builder maintenanceWindow(MaintenanceWindowArgs maintenanceWindow) {
            return maintenanceWindow(Output.of(maintenanceWindow));
        }

        /**
         * @param nodeCount Worker node count of the cluster. When node count is 0, it represents a single node configuration with the ability to create distributed tables on that node. 2 or more worker nodes represent multi-node configuration. Node count value cannot be 1. Required for creation.
         * 
         * @return builder
         * 
         */
        public Builder nodeCount(@Nullable Output nodeCount) {
            $.nodeCount = nodeCount;
            return this;
        }

        /**
         * @param nodeCount Worker node count of the cluster. When node count is 0, it represents a single node configuration with the ability to create distributed tables on that node. 2 or more worker nodes represent multi-node configuration. Node count value cannot be 1. Required for creation.
         * 
         * @return builder
         * 
         */
        public Builder nodeCount(Integer nodeCount) {
            return nodeCount(Output.of(nodeCount));
        }

        /**
         * @param nodeEnablePublicIpAccess If public access is enabled on worker nodes.
         * 
         * @return builder
         * 
         */
        public Builder nodeEnablePublicIpAccess(@Nullable Output nodeEnablePublicIpAccess) {
            $.nodeEnablePublicIpAccess = nodeEnablePublicIpAccess;
            return this;
        }

        /**
         * @param nodeEnablePublicIpAccess If public access is enabled on worker nodes.
         * 
         * @return builder
         * 
         */
        public Builder nodeEnablePublicIpAccess(Boolean nodeEnablePublicIpAccess) {
            return nodeEnablePublicIpAccess(Output.of(nodeEnablePublicIpAccess));
        }

        /**
         * @param nodeServerEdition The edition of a node server (default: MemoryOptimized).
         * 
         * @return builder
         * 
         */
        public Builder nodeServerEdition(@Nullable Output nodeServerEdition) {
            $.nodeServerEdition = nodeServerEdition;
            return this;
        }

        /**
         * @param nodeServerEdition The edition of a node server (default: MemoryOptimized).
         * 
         * @return builder
         * 
         */
        public Builder nodeServerEdition(String nodeServerEdition) {
            return nodeServerEdition(Output.of(nodeServerEdition));
        }

        /**
         * @param nodeStorageQuotaInMb The storage in MB on each worker node. See https://learn.microsoft.com/azure/cosmos-db/postgresql/resources-compute for more information.
         * 
         * @return builder
         * 
         */
        public Builder nodeStorageQuotaInMb(@Nullable Output nodeStorageQuotaInMb) {
            $.nodeStorageQuotaInMb = nodeStorageQuotaInMb;
            return this;
        }

        /**
         * @param nodeStorageQuotaInMb The storage in MB on each worker node. See https://learn.microsoft.com/azure/cosmos-db/postgresql/resources-compute for more information.
         * 
         * @return builder
         * 
         */
        public Builder nodeStorageQuotaInMb(Integer nodeStorageQuotaInMb) {
            return nodeStorageQuotaInMb(Output.of(nodeStorageQuotaInMb));
        }

        /**
         * @param nodeVCores The compute in vCores on each worker node (max: 104). See https://learn.microsoft.com/azure/cosmos-db/postgresql/resources-compute for more information.
         * 
         * @return builder
         * 
         */
        public Builder nodeVCores(@Nullable Output nodeVCores) {
            $.nodeVCores = nodeVCores;
            return this;
        }

        /**
         * @param nodeVCores The compute in vCores on each worker node (max: 104). See https://learn.microsoft.com/azure/cosmos-db/postgresql/resources-compute for more information.
         * 
         * @return builder
         * 
         */
        public Builder nodeVCores(Integer nodeVCores) {
            return nodeVCores(Output.of(nodeVCores));
        }

        /**
         * @param pointInTimeUTC Date and time in UTC (ISO8601 format) for cluster restore.
         * 
         * @return builder
         * 
         */
        public Builder pointInTimeUTC(@Nullable Output pointInTimeUTC) {
            $.pointInTimeUTC = pointInTimeUTC;
            return this;
        }

        /**
         * @param pointInTimeUTC Date and time in UTC (ISO8601 format) for cluster restore.
         * 
         * @return builder
         * 
         */
        public Builder pointInTimeUTC(String pointInTimeUTC) {
            return pointInTimeUTC(Output.of(pointInTimeUTC));
        }

        /**
         * @param postgresqlVersion The major PostgreSQL version on all cluster servers.
         * 
         * @return builder
         * 
         */
        public Builder postgresqlVersion(@Nullable Output postgresqlVersion) {
            $.postgresqlVersion = postgresqlVersion;
            return this;
        }

        /**
         * @param postgresqlVersion The major PostgreSQL version on all cluster servers.
         * 
         * @return builder
         * 
         */
        public Builder postgresqlVersion(String postgresqlVersion) {
            return postgresqlVersion(Output.of(postgresqlVersion));
        }

        /**
         * @param preferredPrimaryZone Preferred primary availability zone (AZ) for all cluster servers.
         * 
         * @return builder
         * 
         */
        public Builder preferredPrimaryZone(@Nullable Output preferredPrimaryZone) {
            $.preferredPrimaryZone = preferredPrimaryZone;
            return this;
        }

        /**
         * @param preferredPrimaryZone Preferred primary availability zone (AZ) for all cluster servers.
         * 
         * @return builder
         * 
         */
        public Builder preferredPrimaryZone(String preferredPrimaryZone) {
            return preferredPrimaryZone(Output.of(preferredPrimaryZone));
        }

        /**
         * @param resourceGroupName The name of the resource group. The name is case insensitive.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(Output resourceGroupName) {
            $.resourceGroupName = resourceGroupName;
            return this;
        }

        /**
         * @param resourceGroupName The name of the resource group. The name is case insensitive.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(String resourceGroupName) {
            return resourceGroupName(Output.of(resourceGroupName));
        }

        /**
         * @param sourceLocation The Azure region of source cluster for read replica clusters.
         * 
         * @return builder
         * 
         */
        public Builder sourceLocation(@Nullable Output sourceLocation) {
            $.sourceLocation = sourceLocation;
            return this;
        }

        /**
         * @param sourceLocation The Azure region of source cluster for read replica clusters.
         * 
         * @return builder
         * 
         */
        public Builder sourceLocation(String sourceLocation) {
            return sourceLocation(Output.of(sourceLocation));
        }

        /**
         * @param sourceResourceId The resource id of source cluster for read replica clusters.
         * 
         * @return builder
         * 
         */
        public Builder sourceResourceId(@Nullable Output sourceResourceId) {
            $.sourceResourceId = sourceResourceId;
            return this;
        }

        /**
         * @param sourceResourceId The resource id of source cluster for read replica clusters.
         * 
         * @return builder
         * 
         */
        public Builder sourceResourceId(String sourceResourceId) {
            return sourceResourceId(Output.of(sourceResourceId));
        }

        /**
         * @param tags Resource tags.
         * 
         * @return builder
         * 
         */
        public Builder tags(@Nullable Output> tags) {
            $.tags = tags;
            return this;
        }

        /**
         * @param tags Resource tags.
         * 
         * @return builder
         * 
         */
        public Builder tags(Map tags) {
            return tags(Output.of(tags));
        }

        public ClusterArgs build() {
            if ($.resourceGroupName == null) {
                throw new MissingRequiredPropertyException("ClusterArgs", "resourceGroupName");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy