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

com.pulumi.linode.outputs.GetDatabasePostgresqlResult Maven / Gradle / Ivy

There is a newer version: 4.31.0-alpha.1732773076
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.linode.outputs;

import com.pulumi.core.annotations.CustomType;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import com.pulumi.linode.outputs.GetDatabasePostgresqlUpdate;
import java.lang.Boolean;
import java.lang.Integer;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;

@CustomType
public final class GetDatabasePostgresqlResult {
    /**
     * @return A list of IP addresses that can access the Managed Database. Each item can be a single IP address or a range in CIDR format.
     * 
     */
    private List allowLists;
    /**
     * @return The base64-encoded SSL CA certificate for the Managed Database instance.
     * 
     */
    private String caCert;
    /**
     * @return The number of Linode Instance nodes deployed to the Managed Database.
     * 
     */
    private Integer clusterSize;
    /**
     * @return When this Managed Database was created.
     * 
     */
    private String created;
    /**
     * @deprecated
     * Configure `id` instead. This attribute will be removed in the next major version of the provider.
     * 
     */
    @Deprecated /* Configure `id` instead. This attribute will be removed in the next major version of the provider. */
    private @Nullable Integer databaseId;
    /**
     * @return Whether the Managed Databases is encrypted.
     * 
     */
    private Boolean encrypted;
    /**
     * @return The Managed Database engine. (e.g. `postgresql`)
     * 
     */
    private String engine;
    /**
     * @return The Managed Database engine in engine/version format. (e.g. `postgresql/13.2`)
     * 
     */
    private String engineId;
    /**
     * @return The primary host for the Managed Database.
     * 
     */
    private String hostPrimary;
    /**
     * @return The secondary/private network host for the Managed Database.
     * 
     */
    private String hostSecondary;
    private @Nullable Integer id;
    /**
     * @return A unique, user-defined string referring to the Managed Database.
     * 
     */
    private String label;
    private Integer port;
    /**
     * @return The region that hosts this Linode Managed Database.
     * 
     */
    private String region;
    /**
     * @return (Optional) The synchronization level of the replicating server. (`on`, `local`, `remote_write`, `remote_apply`, `off`)
     * 
     */
    private String replicationCommitType;
    /**
     * @return The replication method used for the Managed Database. (`none`, `asynch`, `semi_synch`)
     * 
     */
    private String replicationType;
    /**
     * @return The randomly-generated root password for the Managed Database instance.
     * 
     */
    private String rootPassword;
    /**
     * @return The root username for the Managed Database instance.
     * 
     */
    private String rootUsername;
    /**
     * @return Whether to require SSL credentials to establish a connection to the Managed Database.
     * 
     */
    private Boolean sslConnection;
    /**
     * @return The operating status of the Managed Database.
     * 
     */
    private String status;
    /**
     * @return The Linode Instance type used for the nodes of the  Managed Database instance.
     * 
     */
    private String type;
    /**
     * @return When this Managed Database was last updated.
     * 
     */
    private String updated;
    private List updates;
    /**
     * @return The Managed Database engine version. (e.g. `v8.0.26`)
     * 
     */
    private String version;

    private GetDatabasePostgresqlResult() {}
    /**
     * @return A list of IP addresses that can access the Managed Database. Each item can be a single IP address or a range in CIDR format.
     * 
     */
    public List allowLists() {
        return this.allowLists;
    }
    /**
     * @return The base64-encoded SSL CA certificate for the Managed Database instance.
     * 
     */
    public String caCert() {
        return this.caCert;
    }
    /**
     * @return The number of Linode Instance nodes deployed to the Managed Database.
     * 
     */
    public Integer clusterSize() {
        return this.clusterSize;
    }
    /**
     * @return When this Managed Database was created.
     * 
     */
    public String created() {
        return this.created;
    }
    /**
     * @deprecated
     * Configure `id` instead. This attribute will be removed in the next major version of the provider.
     * 
     */
    @Deprecated /* Configure `id` instead. This attribute will be removed in the next major version of the provider. */
    public Optional databaseId() {
        return Optional.ofNullable(this.databaseId);
    }
    /**
     * @return Whether the Managed Databases is encrypted.
     * 
     */
    public Boolean encrypted() {
        return this.encrypted;
    }
    /**
     * @return The Managed Database engine. (e.g. `postgresql`)
     * 
     */
    public String engine() {
        return this.engine;
    }
    /**
     * @return The Managed Database engine in engine/version format. (e.g. `postgresql/13.2`)
     * 
     */
    public String engineId() {
        return this.engineId;
    }
    /**
     * @return The primary host for the Managed Database.
     * 
     */
    public String hostPrimary() {
        return this.hostPrimary;
    }
    /**
     * @return The secondary/private network host for the Managed Database.
     * 
     */
    public String hostSecondary() {
        return this.hostSecondary;
    }
    public Optional id() {
        return Optional.ofNullable(this.id);
    }
    /**
     * @return A unique, user-defined string referring to the Managed Database.
     * 
     */
    public String label() {
        return this.label;
    }
    public Integer port() {
        return this.port;
    }
    /**
     * @return The region that hosts this Linode Managed Database.
     * 
     */
    public String region() {
        return this.region;
    }
    /**
     * @return (Optional) The synchronization level of the replicating server. (`on`, `local`, `remote_write`, `remote_apply`, `off`)
     * 
     */
    public String replicationCommitType() {
        return this.replicationCommitType;
    }
    /**
     * @return The replication method used for the Managed Database. (`none`, `asynch`, `semi_synch`)
     * 
     */
    public String replicationType() {
        return this.replicationType;
    }
    /**
     * @return The randomly-generated root password for the Managed Database instance.
     * 
     */
    public String rootPassword() {
        return this.rootPassword;
    }
    /**
     * @return The root username for the Managed Database instance.
     * 
     */
    public String rootUsername() {
        return this.rootUsername;
    }
    /**
     * @return Whether to require SSL credentials to establish a connection to the Managed Database.
     * 
     */
    public Boolean sslConnection() {
        return this.sslConnection;
    }
    /**
     * @return The operating status of the Managed Database.
     * 
     */
    public String status() {
        return this.status;
    }
    /**
     * @return The Linode Instance type used for the nodes of the  Managed Database instance.
     * 
     */
    public String type() {
        return this.type;
    }
    /**
     * @return When this Managed Database was last updated.
     * 
     */
    public String updated() {
        return this.updated;
    }
    public List updates() {
        return this.updates;
    }
    /**
     * @return The Managed Database engine version. (e.g. `v8.0.26`)
     * 
     */
    public String version() {
        return this.version;
    }

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

    public static Builder builder(GetDatabasePostgresqlResult defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private List allowLists;
        private String caCert;
        private Integer clusterSize;
        private String created;
        private @Nullable Integer databaseId;
        private Boolean encrypted;
        private String engine;
        private String engineId;
        private String hostPrimary;
        private String hostSecondary;
        private @Nullable Integer id;
        private String label;
        private Integer port;
        private String region;
        private String replicationCommitType;
        private String replicationType;
        private String rootPassword;
        private String rootUsername;
        private Boolean sslConnection;
        private String status;
        private String type;
        private String updated;
        private List updates;
        private String version;
        public Builder() {}
        public Builder(GetDatabasePostgresqlResult defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.allowLists = defaults.allowLists;
    	      this.caCert = defaults.caCert;
    	      this.clusterSize = defaults.clusterSize;
    	      this.created = defaults.created;
    	      this.databaseId = defaults.databaseId;
    	      this.encrypted = defaults.encrypted;
    	      this.engine = defaults.engine;
    	      this.engineId = defaults.engineId;
    	      this.hostPrimary = defaults.hostPrimary;
    	      this.hostSecondary = defaults.hostSecondary;
    	      this.id = defaults.id;
    	      this.label = defaults.label;
    	      this.port = defaults.port;
    	      this.region = defaults.region;
    	      this.replicationCommitType = defaults.replicationCommitType;
    	      this.replicationType = defaults.replicationType;
    	      this.rootPassword = defaults.rootPassword;
    	      this.rootUsername = defaults.rootUsername;
    	      this.sslConnection = defaults.sslConnection;
    	      this.status = defaults.status;
    	      this.type = defaults.type;
    	      this.updated = defaults.updated;
    	      this.updates = defaults.updates;
    	      this.version = defaults.version;
        }

        @CustomType.Setter
        public Builder allowLists(List allowLists) {
            if (allowLists == null) {
              throw new MissingRequiredPropertyException("GetDatabasePostgresqlResult", "allowLists");
            }
            this.allowLists = allowLists;
            return this;
        }
        public Builder allowLists(String... allowLists) {
            return allowLists(List.of(allowLists));
        }
        @CustomType.Setter
        public Builder caCert(String caCert) {
            if (caCert == null) {
              throw new MissingRequiredPropertyException("GetDatabasePostgresqlResult", "caCert");
            }
            this.caCert = caCert;
            return this;
        }
        @CustomType.Setter
        public Builder clusterSize(Integer clusterSize) {
            if (clusterSize == null) {
              throw new MissingRequiredPropertyException("GetDatabasePostgresqlResult", "clusterSize");
            }
            this.clusterSize = clusterSize;
            return this;
        }
        @CustomType.Setter
        public Builder created(String created) {
            if (created == null) {
              throw new MissingRequiredPropertyException("GetDatabasePostgresqlResult", "created");
            }
            this.created = created;
            return this;
        }
        @CustomType.Setter
        public Builder databaseId(@Nullable Integer databaseId) {

            this.databaseId = databaseId;
            return this;
        }
        @CustomType.Setter
        public Builder encrypted(Boolean encrypted) {
            if (encrypted == null) {
              throw new MissingRequiredPropertyException("GetDatabasePostgresqlResult", "encrypted");
            }
            this.encrypted = encrypted;
            return this;
        }
        @CustomType.Setter
        public Builder engine(String engine) {
            if (engine == null) {
              throw new MissingRequiredPropertyException("GetDatabasePostgresqlResult", "engine");
            }
            this.engine = engine;
            return this;
        }
        @CustomType.Setter
        public Builder engineId(String engineId) {
            if (engineId == null) {
              throw new MissingRequiredPropertyException("GetDatabasePostgresqlResult", "engineId");
            }
            this.engineId = engineId;
            return this;
        }
        @CustomType.Setter
        public Builder hostPrimary(String hostPrimary) {
            if (hostPrimary == null) {
              throw new MissingRequiredPropertyException("GetDatabasePostgresqlResult", "hostPrimary");
            }
            this.hostPrimary = hostPrimary;
            return this;
        }
        @CustomType.Setter
        public Builder hostSecondary(String hostSecondary) {
            if (hostSecondary == null) {
              throw new MissingRequiredPropertyException("GetDatabasePostgresqlResult", "hostSecondary");
            }
            this.hostSecondary = hostSecondary;
            return this;
        }
        @CustomType.Setter
        public Builder id(@Nullable Integer id) {

            this.id = id;
            return this;
        }
        @CustomType.Setter
        public Builder label(String label) {
            if (label == null) {
              throw new MissingRequiredPropertyException("GetDatabasePostgresqlResult", "label");
            }
            this.label = label;
            return this;
        }
        @CustomType.Setter
        public Builder port(Integer port) {
            if (port == null) {
              throw new MissingRequiredPropertyException("GetDatabasePostgresqlResult", "port");
            }
            this.port = port;
            return this;
        }
        @CustomType.Setter
        public Builder region(String region) {
            if (region == null) {
              throw new MissingRequiredPropertyException("GetDatabasePostgresqlResult", "region");
            }
            this.region = region;
            return this;
        }
        @CustomType.Setter
        public Builder replicationCommitType(String replicationCommitType) {
            if (replicationCommitType == null) {
              throw new MissingRequiredPropertyException("GetDatabasePostgresqlResult", "replicationCommitType");
            }
            this.replicationCommitType = replicationCommitType;
            return this;
        }
        @CustomType.Setter
        public Builder replicationType(String replicationType) {
            if (replicationType == null) {
              throw new MissingRequiredPropertyException("GetDatabasePostgresqlResult", "replicationType");
            }
            this.replicationType = replicationType;
            return this;
        }
        @CustomType.Setter
        public Builder rootPassword(String rootPassword) {
            if (rootPassword == null) {
              throw new MissingRequiredPropertyException("GetDatabasePostgresqlResult", "rootPassword");
            }
            this.rootPassword = rootPassword;
            return this;
        }
        @CustomType.Setter
        public Builder rootUsername(String rootUsername) {
            if (rootUsername == null) {
              throw new MissingRequiredPropertyException("GetDatabasePostgresqlResult", "rootUsername");
            }
            this.rootUsername = rootUsername;
            return this;
        }
        @CustomType.Setter
        public Builder sslConnection(Boolean sslConnection) {
            if (sslConnection == null) {
              throw new MissingRequiredPropertyException("GetDatabasePostgresqlResult", "sslConnection");
            }
            this.sslConnection = sslConnection;
            return this;
        }
        @CustomType.Setter
        public Builder status(String status) {
            if (status == null) {
              throw new MissingRequiredPropertyException("GetDatabasePostgresqlResult", "status");
            }
            this.status = status;
            return this;
        }
        @CustomType.Setter
        public Builder type(String type) {
            if (type == null) {
              throw new MissingRequiredPropertyException("GetDatabasePostgresqlResult", "type");
            }
            this.type = type;
            return this;
        }
        @CustomType.Setter
        public Builder updated(String updated) {
            if (updated == null) {
              throw new MissingRequiredPropertyException("GetDatabasePostgresqlResult", "updated");
            }
            this.updated = updated;
            return this;
        }
        @CustomType.Setter
        public Builder updates(List updates) {
            if (updates == null) {
              throw new MissingRequiredPropertyException("GetDatabasePostgresqlResult", "updates");
            }
            this.updates = updates;
            return this;
        }
        public Builder updates(GetDatabasePostgresqlUpdate... updates) {
            return updates(List.of(updates));
        }
        @CustomType.Setter
        public Builder version(String version) {
            if (version == null) {
              throw new MissingRequiredPropertyException("GetDatabasePostgresqlResult", "version");
            }
            this.version = version;
            return this;
        }
        public GetDatabasePostgresqlResult build() {
            final var _resultValue = new GetDatabasePostgresqlResult();
            _resultValue.allowLists = allowLists;
            _resultValue.caCert = caCert;
            _resultValue.clusterSize = clusterSize;
            _resultValue.created = created;
            _resultValue.databaseId = databaseId;
            _resultValue.encrypted = encrypted;
            _resultValue.engine = engine;
            _resultValue.engineId = engineId;
            _resultValue.hostPrimary = hostPrimary;
            _resultValue.hostSecondary = hostSecondary;
            _resultValue.id = id;
            _resultValue.label = label;
            _resultValue.port = port;
            _resultValue.region = region;
            _resultValue.replicationCommitType = replicationCommitType;
            _resultValue.replicationType = replicationType;
            _resultValue.rootPassword = rootPassword;
            _resultValue.rootUsername = rootUsername;
            _resultValue.sslConnection = sslConnection;
            _resultValue.status = status;
            _resultValue.type = type;
            _resultValue.updated = updated;
            _resultValue.updates = updates;
            _resultValue.version = version;
            return _resultValue;
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy