
com.pulumi.aws.dms.outputs.EndpointPostgresSettings Maven / Gradle / Ivy
// *** 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.aws.dms.outputs;
import com.pulumi.core.annotations.CustomType;
import java.lang.Boolean;
import java.lang.Integer;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
@CustomType
public final class EndpointPostgresSettings {
/**
* @return For use with change data capture (CDC) only, this attribute has AWS DMS bypass foreign keys and user triggers to reduce the time it takes to bulk load data.
*
*/
private @Nullable String afterConnectScript;
/**
* @return The Babelfish for Aurora PostgreSQL database name for the endpoint.
*
*/
private @Nullable String babelfishDatabaseName;
/**
* @return To capture DDL events, AWS DMS creates various artifacts in the PostgreSQL database when the task starts.
*
*/
private @Nullable Boolean captureDdls;
/**
* @return Specifies the default behavior of the replication's handling of PostgreSQL- compatible endpoints that require some additional configuration, such as Babelfish endpoints.
*
*/
private @Nullable String databaseMode;
/**
* @return Sets the schema in which the operational DDL database artifacts are created. Default is `public`.
*
*/
private @Nullable String ddlArtifactsSchema;
/**
* @return Sets the client statement timeout for the PostgreSQL instance, in seconds. Default value is `60`.
*
*/
private @Nullable Integer executeTimeout;
/**
* @return When set to `true`, this value causes a task to fail if the actual size of a LOB column is greater than the specified `LobMaxSize`. Default is `false`.
*
*/
private @Nullable Boolean failTasksOnLobTruncation;
/**
* @return The write-ahead log (WAL) heartbeat feature mimics a dummy transaction. By doing this, it prevents idle logical replication slots from holding onto old WAL logs, which can result in storage full situations on the source.
*
*/
private @Nullable Boolean heartbeatEnable;
/**
* @return Sets the WAL heartbeat frequency (in minutes). Default value is `5`.
*
*/
private @Nullable Integer heartbeatFrequency;
/**
* @return Sets the schema in which the heartbeat artifacts are created. Default value is `public`.
*
*/
private @Nullable String heartbeatSchema;
/**
* @return You can use PostgreSQL endpoint settings to map a boolean as a boolean from your PostgreSQL source to a Amazon Redshift target. Default value is `false`.
*
*/
private @Nullable Boolean mapBooleanAsBoolean;
/**
* @return Optional When true, DMS migrates JSONB values as CLOB.
*
*/
private @Nullable Boolean mapJsonbAsClob;
/**
* @return Optional When true, DMS migrates LONG values as VARCHAR.
*
*/
private @Nullable String mapLongVarcharAs;
/**
* @return Specifies the maximum size (in KB) of any .csv file used to transfer data to PostgreSQL. Default is `32,768 KB`.
*
*/
private @Nullable Integer maxFileSize;
/**
* @return Specifies the plugin to use to create a replication slot. Valid values: `pglogical`, `test_decoding`.
*
*/
private @Nullable String pluginName;
/**
* @return Sets the name of a previously created logical replication slot for a CDC load of the PostgreSQL source instance.
*
*/
private @Nullable String slotName;
private EndpointPostgresSettings() {}
/**
* @return For use with change data capture (CDC) only, this attribute has AWS DMS bypass foreign keys and user triggers to reduce the time it takes to bulk load data.
*
*/
public Optional afterConnectScript() {
return Optional.ofNullable(this.afterConnectScript);
}
/**
* @return The Babelfish for Aurora PostgreSQL database name for the endpoint.
*
*/
public Optional babelfishDatabaseName() {
return Optional.ofNullable(this.babelfishDatabaseName);
}
/**
* @return To capture DDL events, AWS DMS creates various artifacts in the PostgreSQL database when the task starts.
*
*/
public Optional captureDdls() {
return Optional.ofNullable(this.captureDdls);
}
/**
* @return Specifies the default behavior of the replication's handling of PostgreSQL- compatible endpoints that require some additional configuration, such as Babelfish endpoints.
*
*/
public Optional databaseMode() {
return Optional.ofNullable(this.databaseMode);
}
/**
* @return Sets the schema in which the operational DDL database artifacts are created. Default is `public`.
*
*/
public Optional ddlArtifactsSchema() {
return Optional.ofNullable(this.ddlArtifactsSchema);
}
/**
* @return Sets the client statement timeout for the PostgreSQL instance, in seconds. Default value is `60`.
*
*/
public Optional executeTimeout() {
return Optional.ofNullable(this.executeTimeout);
}
/**
* @return When set to `true`, this value causes a task to fail if the actual size of a LOB column is greater than the specified `LobMaxSize`. Default is `false`.
*
*/
public Optional failTasksOnLobTruncation() {
return Optional.ofNullable(this.failTasksOnLobTruncation);
}
/**
* @return The write-ahead log (WAL) heartbeat feature mimics a dummy transaction. By doing this, it prevents idle logical replication slots from holding onto old WAL logs, which can result in storage full situations on the source.
*
*/
public Optional heartbeatEnable() {
return Optional.ofNullable(this.heartbeatEnable);
}
/**
* @return Sets the WAL heartbeat frequency (in minutes). Default value is `5`.
*
*/
public Optional heartbeatFrequency() {
return Optional.ofNullable(this.heartbeatFrequency);
}
/**
* @return Sets the schema in which the heartbeat artifacts are created. Default value is `public`.
*
*/
public Optional heartbeatSchema() {
return Optional.ofNullable(this.heartbeatSchema);
}
/**
* @return You can use PostgreSQL endpoint settings to map a boolean as a boolean from your PostgreSQL source to a Amazon Redshift target. Default value is `false`.
*
*/
public Optional mapBooleanAsBoolean() {
return Optional.ofNullable(this.mapBooleanAsBoolean);
}
/**
* @return Optional When true, DMS migrates JSONB values as CLOB.
*
*/
public Optional mapJsonbAsClob() {
return Optional.ofNullable(this.mapJsonbAsClob);
}
/**
* @return Optional When true, DMS migrates LONG values as VARCHAR.
*
*/
public Optional mapLongVarcharAs() {
return Optional.ofNullable(this.mapLongVarcharAs);
}
/**
* @return Specifies the maximum size (in KB) of any .csv file used to transfer data to PostgreSQL. Default is `32,768 KB`.
*
*/
public Optional maxFileSize() {
return Optional.ofNullable(this.maxFileSize);
}
/**
* @return Specifies the plugin to use to create a replication slot. Valid values: `pglogical`, `test_decoding`.
*
*/
public Optional pluginName() {
return Optional.ofNullable(this.pluginName);
}
/**
* @return Sets the name of a previously created logical replication slot for a CDC load of the PostgreSQL source instance.
*
*/
public Optional slotName() {
return Optional.ofNullable(this.slotName);
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(EndpointPostgresSettings defaults) {
return new Builder(defaults);
}
@CustomType.Builder
public static final class Builder {
private @Nullable String afterConnectScript;
private @Nullable String babelfishDatabaseName;
private @Nullable Boolean captureDdls;
private @Nullable String databaseMode;
private @Nullable String ddlArtifactsSchema;
private @Nullable Integer executeTimeout;
private @Nullable Boolean failTasksOnLobTruncation;
private @Nullable Boolean heartbeatEnable;
private @Nullable Integer heartbeatFrequency;
private @Nullable String heartbeatSchema;
private @Nullable Boolean mapBooleanAsBoolean;
private @Nullable Boolean mapJsonbAsClob;
private @Nullable String mapLongVarcharAs;
private @Nullable Integer maxFileSize;
private @Nullable String pluginName;
private @Nullable String slotName;
public Builder() {}
public Builder(EndpointPostgresSettings defaults) {
Objects.requireNonNull(defaults);
this.afterConnectScript = defaults.afterConnectScript;
this.babelfishDatabaseName = defaults.babelfishDatabaseName;
this.captureDdls = defaults.captureDdls;
this.databaseMode = defaults.databaseMode;
this.ddlArtifactsSchema = defaults.ddlArtifactsSchema;
this.executeTimeout = defaults.executeTimeout;
this.failTasksOnLobTruncation = defaults.failTasksOnLobTruncation;
this.heartbeatEnable = defaults.heartbeatEnable;
this.heartbeatFrequency = defaults.heartbeatFrequency;
this.heartbeatSchema = defaults.heartbeatSchema;
this.mapBooleanAsBoolean = defaults.mapBooleanAsBoolean;
this.mapJsonbAsClob = defaults.mapJsonbAsClob;
this.mapLongVarcharAs = defaults.mapLongVarcharAs;
this.maxFileSize = defaults.maxFileSize;
this.pluginName = defaults.pluginName;
this.slotName = defaults.slotName;
}
@CustomType.Setter
public Builder afterConnectScript(@Nullable String afterConnectScript) {
this.afterConnectScript = afterConnectScript;
return this;
}
@CustomType.Setter
public Builder babelfishDatabaseName(@Nullable String babelfishDatabaseName) {
this.babelfishDatabaseName = babelfishDatabaseName;
return this;
}
@CustomType.Setter
public Builder captureDdls(@Nullable Boolean captureDdls) {
this.captureDdls = captureDdls;
return this;
}
@CustomType.Setter
public Builder databaseMode(@Nullable String databaseMode) {
this.databaseMode = databaseMode;
return this;
}
@CustomType.Setter
public Builder ddlArtifactsSchema(@Nullable String ddlArtifactsSchema) {
this.ddlArtifactsSchema = ddlArtifactsSchema;
return this;
}
@CustomType.Setter
public Builder executeTimeout(@Nullable Integer executeTimeout) {
this.executeTimeout = executeTimeout;
return this;
}
@CustomType.Setter
public Builder failTasksOnLobTruncation(@Nullable Boolean failTasksOnLobTruncation) {
this.failTasksOnLobTruncation = failTasksOnLobTruncation;
return this;
}
@CustomType.Setter
public Builder heartbeatEnable(@Nullable Boolean heartbeatEnable) {
this.heartbeatEnable = heartbeatEnable;
return this;
}
@CustomType.Setter
public Builder heartbeatFrequency(@Nullable Integer heartbeatFrequency) {
this.heartbeatFrequency = heartbeatFrequency;
return this;
}
@CustomType.Setter
public Builder heartbeatSchema(@Nullable String heartbeatSchema) {
this.heartbeatSchema = heartbeatSchema;
return this;
}
@CustomType.Setter
public Builder mapBooleanAsBoolean(@Nullable Boolean mapBooleanAsBoolean) {
this.mapBooleanAsBoolean = mapBooleanAsBoolean;
return this;
}
@CustomType.Setter
public Builder mapJsonbAsClob(@Nullable Boolean mapJsonbAsClob) {
this.mapJsonbAsClob = mapJsonbAsClob;
return this;
}
@CustomType.Setter
public Builder mapLongVarcharAs(@Nullable String mapLongVarcharAs) {
this.mapLongVarcharAs = mapLongVarcharAs;
return this;
}
@CustomType.Setter
public Builder maxFileSize(@Nullable Integer maxFileSize) {
this.maxFileSize = maxFileSize;
return this;
}
@CustomType.Setter
public Builder pluginName(@Nullable String pluginName) {
this.pluginName = pluginName;
return this;
}
@CustomType.Setter
public Builder slotName(@Nullable String slotName) {
this.slotName = slotName;
return this;
}
public EndpointPostgresSettings build() {
final var _resultValue = new EndpointPostgresSettings();
_resultValue.afterConnectScript = afterConnectScript;
_resultValue.babelfishDatabaseName = babelfishDatabaseName;
_resultValue.captureDdls = captureDdls;
_resultValue.databaseMode = databaseMode;
_resultValue.ddlArtifactsSchema = ddlArtifactsSchema;
_resultValue.executeTimeout = executeTimeout;
_resultValue.failTasksOnLobTruncation = failTasksOnLobTruncation;
_resultValue.heartbeatEnable = heartbeatEnable;
_resultValue.heartbeatFrequency = heartbeatFrequency;
_resultValue.heartbeatSchema = heartbeatSchema;
_resultValue.mapBooleanAsBoolean = mapBooleanAsBoolean;
_resultValue.mapJsonbAsClob = mapJsonbAsClob;
_resultValue.mapLongVarcharAs = mapLongVarcharAs;
_resultValue.maxFileSize = maxFileSize;
_resultValue.pluginName = pluginName;
_resultValue.slotName = slotName;
return _resultValue;
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy